小編給大家分享一下mysql查看索引使用情況的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
mysql中支持hash和btree索引。innodb和myisam只支持btree索引,而memory和heap存儲引擎可以支持hash和btree索引。
我們可以通過下面語句查詢當(dāng)前索引使用情況:
show status like '%Handler_read%'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | Handler_read_first | 0 | | Handler_read_key | 0 | | Handler_read_last | 0 | | Handler_read_next | 0 | | Handler_read_prev | 0 | | Handler_read_rnd | 0 | | Handler_read_rnd_next | 0 | +-----------------------+-------+
如果索引正在工作,則Handler_read_key的值會很高,這個(gè)值代表一個(gè)行被索引值讀的次數(shù),很低值表名增加索引得到的性能改善不高,因此索引并不經(jīng)常使用。
如果Handler_read_rnd_next值很高意味著查詢運(yùn)行效率很低,應(yīng)該建立索引補(bǔ)救,這個(gè)值含義是在數(shù)據(jù)文件中讀取下一行的請求數(shù)。如果正在進(jìn)行大量表掃描,Handler_read_rnd_next的數(shù)值將會很高。說明索引不正確或者沒有利用索引。
看完了這篇文章,相信你對mysql查看索引使用情況的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!