索引
为什么使用索引
进行全表扫描时会把数据库多块/页加载读取,然后逐个块去轮询找到目标并返回。这种方式在数据量大时会很慢的。要避免全表扫描的发生就要使用索引快速查询数据。
索引的数据结构
-
二叉查找树及其变种平衡二叉树、红黑树等
-
B-Tree
-
B+-Tree(MySql)
-
Hash结构
- BitMap
二叉树的结构的时间复杂度可能会比较低,但是数据量大时避免不了树的高度过深,这样磁盘的IO次数就会增多,数据库查询的速率还是会很慢。因此还是要看B-Tree/B+-Tree……
B+-Tree更适合用来做存储索引
-
B+树的磁盘读写代价更低
-
B+树的查询效率更加稳定 O(logn),因为只有叶子节点才存储文件内容,所以任何关键字的查找必须走一条从根节点到叶子节点的路。
-

浙公网安备 33010602011771号