
mysql中支持hash和btree索引。innodb和myisam只支持btree索引,而memory和heap存储引擎可以支持hash和btree索引。
(推荐教程:mysql数据库学习教程)
我们可以通过下面语句查询当前索引使用情况:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
如果索引正在工作,则Handler_read_key的值会很高,这个值代表一个行被索引值读的次数,很低值表名增加索引得到的性能改善不高,因此索引并不经常使用。
如果Handler_read_rnd_next值很高意味着查询运行效率很低,应该建立索引补救,这个值含义是在数据文件中读取下一行的请求数。如果正在进行大量表扫描,Handler_read_rnd_next的数值将会很高。说明索引不正确或者没有利用索引。