无关风月,只关于索引

索引如何提高查询速度:将无序的数据变为有序的(查目录)

为什么使用索引:1、创建唯一索引,保证数据库每一行数据的唯一性。2、大大加快数据检索速度(减少检索量)。3、将随机io变为有序io

为什么不为每一列创建一个索引:创建索引以及维护索引需要耗费时间 这个时间随数据量增大而增加。

mysql索引使用的主要两种数据结构:hash索引以及b-tree索引,前者适用于单条记录查询的情况其余场景大多使用b-tree索引。

而btree索引又根据两种存储引擎的不同(innodb、myisam)所以实现方式也不同。

实现方式:1、myisam:索引检索时会根据b+tree的搜索算法查找key如果存在取出叶子节点中的data域里的值这个值对应的是该key对应的value的地址。

2、innodb:本身即是索引文件在data域中保存有完整的数据。

覆盖索引:即查询的所有列在索引中都能找到,这样就不用做回表操作。

猜你喜欢

转载自www.cnblogs.com/daqq/p/9758789.html