青云博客 记录、分享

MySQL 记录货币用什么字段类型

在MySQL中记录货币金额,一般推荐使用DECIMAL字段类型。 DECIMAL字段类型用于存储精确的定点数值,可以指定总共的位数和小数点后的位数。这使得它非常适合用于存储货币金额,因为货币金额通常需要精确到小数点后几位。 以下是一个示例创建DECIMAL字段类型的语句: CREATE TABLE

詹学伟 Published on 2024-04-22

什么是索引下推?(深入)

介绍索引下推 索引下推(INDEX CONDITION PUSHDOWN,简称 ICP)是在 MySQL 5.6 针对扫描二级索引的一项优化改进。总的来说是通过把索引过滤条件下推到存储引擎,来减少 MySQL 存储引擎访问基表的次数以及 MySQL 服务层访问存储引擎的次数。ICP 适用于 MYIS

詹学伟 Published on 2024-04-22

为什么需要数据库连接池呢?

首先,我们要明白数据库连接池是一种管理和维护数据库连接的技术。它在应用程序和数据库之间建立了一个连接的缓冲池,用于存储和复用已经建立好的数据库连接。 那为什么需要数据库连接池呢? 提高性能:数据库连接的建立和断开是比较耗时的操作,频繁地创建和销毁连接会增加系统的负担。通过使用连接池,可以避免频繁地创

詹学伟 Published on 2024-04-22

什么是覆盖索引?

覆盖索引是指一个索引包含了查询所需的所有列,而无需访问表的实际数据页。 当数据库系统执行查询时,通常需要从磁盘中读取数据页到内存中才能进行处理。而如果使用了覆盖索引,由于索引已经包含了查询所需的所有列的值,数据库系统可以直接通过索引来获取这些值,而不需要额外地读取数据页。这样可以减少磁盘 I/O 的

詹学伟 Published on 2024-04-22

什么是索引下推?

索引下推(Index Condition Pushdown,简称ICP)是一种数据库查询优化技术,它利用了数据库引擎中的索引和过滤条件,将部分过滤工作下推到存储引擎层面进行处理,从而减少不必要的数据读取和传输。 在传统的查询执行过程中,数据库引擎首先根据索引定位到符

詹学伟 Published on 2024-04-22

什么是最左前缀原则?

最左前缀原则(Leftmost Prefix Rule)是索引在数据库查询中的一种使用规则。它指的是在使用复合索引时,索引的最左边的连续几个列会被用于查询过滤条件的匹配。 具体来说,如果在表中创建了一个复合索引,包含多个列 A、B、C,那么最左前缀原则要求查询中的过滤条件必须从索引的最左边开始,并且

詹学伟 Published on 2024-04-22

mysql 中in 和exists 的区别

当谈到 MySQL 中的 IN 和 EXISTS 时,它们都是用于查询和筛选数据的条件语句,但有一些重要的区别: IN关键字:使用 IN 条件时,我们提供一个固定的值列表,然后将其与指定列的值进行比较。如果列中的值与列表中的任何一个值匹配,就会返回结果。IN 条件适合用于确定某个字段的值是否在给定的

詹学伟 Published on 2024-04-22

MySQL多表查询时有哪些连接方式

当进行多表查询时,在 MySQL 中常用的连接方式有以下几种: 内连接(INNER JOIN):返回同时满足连接条件的行。它通过比较连接列的值,将两个或多个表中匹配的行组合在一起。 左外连接(LEFT JOIN):返回左表中的所有行,以及与左表匹配的右表的行。如果右表中没有匹配的行,对应的列将填充为

詹学伟 Published on 2024-04-22

B 树和B+树的区别?(深入)

MySQL的索引机制中,有一点可谓是路人皆知,既默认使用B+树作为底层的数据结构。有人会说树结构是以二分法查找数据,所以会在很大程度上提升检索性能,这点确实没错,但树结构有那么多,但为什么要选择B+树呢?而不选择二叉树、红黑树或B树呢?下面一起聊一聊这个话题。 索引为何不选择二叉树? 二叉搜索树是遵

詹学伟 Published on 2024-04-22

B 树和B+树的区别?

B树和B+树是常用的数据结构,用于在数据库中进行索引操作。它们之间的区别主要有以下几个方面: 数据存储方式:在B树中,每个节点都包含键和对应的值,叶子节点存储了实际的数据记录;而B+树中,只有叶子节点存储了实际的数据记录,非叶子节点只包含键信息和子节点的指针。 数据检索方式:在B树中,由于非叶子节点

詹学伟 Published on 2024-04-22
Previous Next