MySQL数据库
文章平均质量分 87
对MySQL数据库知识的总结
一树胡杨
编程使我快乐
展开
-
数据库索引(3):索引优化手段
开发中常用的索引优化手段①使用索引覆盖,避免回表,②遵循最左前缀原则,避免索引失效,③定期整理索引碎片。使用索引覆盖原理:索引覆盖可以可以避免回表操作,从而提高性能。索引覆盖:索引覆盖指索引中包含了要查询的全部字段,在查询时,从索引中即能得到查询结果,无需读取记录数据。当使用的是非聚簇索引时,无需读取记录数据那么就避免了回表操作。避免回表:回表指使用非聚簇索引时,一次select需要执行两次查询:先从非聚簇索引树中查到目标记录的主键,在根据主键值在聚簇索引树中查到真正的记录数据。方法原创 2021-05-11 16:09:16 · 413 阅读 · 1 评论 -
数据库索引(2):索引的分类
可以根据底层数据结构、索引树中叶子节点中保存的内容、索引建立的位置、索引中包含列个数的不同来分类。1. 从底层数据结构上来说,MySQL有Hash索引和BTree索引:1. Hash索引:底层数据结构为哈希表。哈希索引的优点是对单条记录的查找效率高,缺点是:不适合范围查询(>、<),只能等值查找(查找==、<=>、in) 不适合排序,数据库无法利用索引来提高排序性能。 遇到大量Hash冲突的时候,Hash索引的性能不一定有BTree高。 ……(还有很多)2.B+.原创 2021-05-11 15:58:21 · 663 阅读 · 0 评论 -
数据库索引(1):索引的概念及其优缺点
索引及其优缺点索引:在关系型数据库中,索引是对数据表中一列或多列的值进行排序的存储结构。使用索引的好处(B+树索引)使用索引的核心优点为减少查找时的IO次数、根据索引字段对数据排序:减少查找时需要读入的数据量,降低IO次数。当没有建立索引时,执行查询时需要进行全表扫描,即将数据表中的记录都读入内存;当建立索引后,在索引字段上执行查询只要进行索引树扫描,将索引树读入内存。通常索引会比记录小很多,因此用索引查找(就算是索引树扫描)代替全表扫描进行查询将减少IO次数。 B+树索引建立时会根据索引原创 2021-05-11 15:49:17 · 652 阅读 · 0 评论