摘要: 困难只是暂时的,放弃才是永久的。 —— 罗伯特·舒勒 事务是数据库操作的基本逻辑单元,具有ACID四大特性,确保数据的一致性和可靠性。 特性 描述 实现机制示例 Atomicity (原子性) 事务是不可分割的最小单元,要么全部成功,要么全部失败回滚。 InnoDB 的 undo log(回滚日志) 阅读全文
posted @ 2025-04-04 12:53 Tsukinor 阅读(27) 评论(0) 推荐(0)
摘要: 成功就是每天进步一点点。 —— 吉姆·罗恩 当我们使用左或左右模糊匹配的时候,也就是 like %xx 或者 like %xx%这两种方式都会造成索引实效; 当我们在查询条件中对索引列使用函数,就会导致索引实效; 当我们在查询条件中对索引列进行表达式计算,也是无法走索引的; MySQL在遇到字符串和 阅读全文
posted @ 2025-04-03 10:47 Tsukinor 阅读(14) 评论(0) 推荐(0)
摘要: 千里之行,始于足下。 —— 老子 MySQL的数据是持久化的,意味着数据(索引+记录)是保存到磁盘上的,因为这样即使设备断电了,数据也不会丢失。 磁盘是一个慢的离谱的存储设备,内存的访问速度是纳秒级别的(1 ns = 10 -9 s),而磁盘访问的速度是毫秒级别的(1ms=10 -6 s),也就是说 阅读全文
posted @ 2025-04-02 12:20 Tsukinor 阅读(34) 评论(0) 推荐(0)
摘要: 千里之行,始于足下。 —— 老子 索引可以分成聚簇索引和非聚簇索引(二级索引),它们的区别就在于叶子节点存放的是什么数据: 聚簇索引的叶子节点存放的是实际数据,所有完整的用户记录都存放在聚簇索引的叶子节点; 二级索引的叶子节点存放的都是主键值,而不是实际数据。 因为表的数据都是存放在聚簇索引的叶子节 阅读全文
posted @ 2025-04-01 18:49 Tsukinor 阅读(47) 评论(0) 推荐(0)
摘要: 千里之行,始于足下。 —— 老子 因为一个数据页中的记录是有限的,且主键值是有序的,所以通过对所有记录进行分组,然后将组号(槽号)存储到页目录,使其起到索引作用,通过二分查找的方法快速检索到记录在哪个分组,来降低检索的时间复杂度。 但是,当我们需要存储大量的记录时,就需要多个数据页,这时我们就需要考 阅读全文
posted @ 2025-04-01 18:37 Tsukinor 阅读(133) 评论(0) 推荐(0)
摘要: 千里之行,始于足下。 —— 老子 MySQL支持多种存储引擎,不同的存储引擎,存储数据的方式也是不同的,我们最常使用的是InnoDB存储引擎。 记录是按照 行 来存储的,但是数据库的读取并不以 行 为单位,否则一次读取(也就是一次I/O操作)只能处理一行数据,效率会非常低。 因此,InnoDB的数据 阅读全文
posted @ 2025-04-01 17:38 Tsukinor 阅读(41) 评论(0) 推荐(0)
摘要: 远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克·吐温 按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。 按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引) 按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引 按「 阅读全文
posted @ 2025-03-30 16:46 Tsukinor 阅读(26) 评论(0) 推荐(0)
摘要: 远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克·吐温 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间 阅读全文
posted @ 2025-03-30 16:35 Tsukinor 阅读(19) 评论(0) 推荐(0)
摘要: 远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克·吐温 在MySQL中,IN 和 EXISTS 都是用来处理子查询的关键词,但它们在功能、性能和使用场景上有各在MySQL中,自的特点和区别。 IN关键字 IN 用于检查左边的表达式是否存在于右边的列表或子查询的结 阅读全文
posted @ 2025-03-30 15:32 Tsukinor 阅读(75) 评论(0) 推荐(0)
摘要: 远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克·吐温 外键约束的作用是维护表与表之间的关系,确保数据的完整性和一致性。让我们举一个简单的例子: 假设你有两个表,一个是学生表,另一个是课程表,这两个表之间有一个关系,即一个学生可以选修多门课程,而一门课程也可以被 阅读全文
posted @ 2025-03-30 15:22 Tsukinor 阅读(42) 评论(0) 推荐(0)