author:魏静崎
2025年9月8日
MySQL-数据页、索引、事务 学习
数据页
当数据的第一页使用完后,并非直接将存不下的内容存入第二页。而是将第一页复制一份,并将原来的第一页改为目录页再存内容到第二页。好处:起始页不变,可以直接存入内存缓存。
索引
主键索引就是对主键进行排序然后存入B+树,普通索引也是对键进行排序,但是可能会有多个键同时按次序排序(如abc)。
主键索引对应的值是整行的数据,普通索引对应的值是主键。但是如果普通索引查出的主键值多于全表的百分之80,则直接走全表扫描譬如where a>0,而a全部大于0,则此时走全表扫描更快。
比如要查询形如www.baidu.com的url
使用like ‘%com’是无法使用索引的,但是如果插入数据时,使用的是moc.udiab.www,则可以使用like ‘moc%’,该方式可以使用索引加速查询
比如b >1 and c > 1,此时只有b能用到索引,因为b查出大于1的数据后,去找c>1的部分,但是数据不一定有序,因此无法使用c的索引,因此能用到索引必须有序。
譬如select b from t1 where b=1 order by c, d; 是可以使用索引的,因为先找出了b,而bccd存在索引,因此cd在此时也是有序的
比如select * from t1 order by b, c, d; 是无法使用索引的,因为即便有(b, c, d)的索引页还需要回表查询所有字段。
但是如果是select b from t1 order by b, c, d; 则可以使用索引,因为无需再查询所有字段。
事务
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2025/09/08/MySQL-数据页、索引、事务/
- 版权声明: 该文章来源及最终解释权归作者所有