MySQL索引命中率(Index Hit Rate)是指查詢語句被索引命中的比率,也叫做索引查詢效率。
MySQL中有兩種索引類型,一種是B-Tree索引,另一種是哈希索引。而B-Tree索引是MySQL常用的索引類型。
當(dāng)查詢語句執(zhí)行時(shí),MySQL將解析該語句,并根據(jù)其WHERE條件來檢索數(shù)據(jù)。如果該語句中有WHERE條件所對(duì)應(yīng)的索引,查詢將以索引方式進(jìn)行。這樣就大大加快了查詢速度。
mysql>explain select * from table_name where column_name=’xxxxx’;
執(zhí)行以上代碼,MySQL將會(huì)返回該查詢語句的執(zhí)行計(jì)劃。其中,重要的指標(biāo)包括該查詢語句的訪問類型(type)和索引命中率(key)。
MySQL的訪問類型中與索引命中率相關(guān)的是range和ref類型,它們都構(gòu)建于B-Tree索引上。當(dāng)查詢語句通過WHERE條件只能命中索引上的一部分?jǐn)?shù)據(jù)時(shí),MySQL就會(huì)使用range類型。而當(dāng)查詢語句通過WHERE條件能夠命中索引上的所有數(shù)據(jù)時(shí),則使用ref類型,此時(shí)索引命中率為100%。
如果查詢語句的索引命中率較低,我們可以考慮優(yōu)化該語句的WHERE條件或增加索引數(shù)量或改變索引的構(gòu)成。
上一篇用css寫時(shí)間
下一篇mysql 索引匹配