对于MySQL数据库索引的初步理解(总结自诸葛老师的讲解)

1、对于千万级别的表,如果索引用得不合适的话,查询是非常慢的;

反之,如果索引用得比较合适的合适的话,查询是非常快的。

2、对索引的理解

1)大学时老师的比喻:把索引比作一本教科书前面的目录页
该解释还是比较浅薄的,好像听完之后还是不知道索引是个啥?
2)进一步理解:索引是帮助MySQL高效获取数据的已经排好序了的数据结构
索引数据结构:
二叉树
红黑树
Hash表
B-Tree
对于MySQL数据库索引的初步理解(总结自诸葛老师的讲解)

3、举例

对于查询一张有两个字段(Col1、Col2)的table:
SELECT * FROM t WHERE col2 = 89
1)对于MySQL底层来说,会逐行去查找和比对Col2的数值
2)可以为Col2字段中的值建立一个索引,图中假设用二叉树这种数据结构去存储Col2的值,这棵二叉树就称为一个索引;
3)第一种办法,查询到Col2=89的记录需要进行6次比对;
第二种办法,查询到Col2=89的记录需要进行2次比对。

什么叫国际巨星?(战术后仰)

对于MySQL数据库索引的初步理解(总结自诸葛老师的讲解)