您好,登錄后才能下訂單哦!
在MySQL 5.7 COUNT()會選擇聚集索引,進行一次內部handler函數調用,即可快速獲得該表總數
執行計劃顯示:Extra:Select tables optimized away
5.7以前的版本中,COUNT()請求通常是:掃描普通索引來獲得這個總數。
6.執行計劃顯示: Extra:Using index
如果聚集索引較大(或者說表數據量較大),沒有完全加載到buffer pool中的話,MySQL 5.7的查詢方式有可能反而會更慢,還不如用原先的方式(MySQL 5.6)
解決辦法:強制走普通索引,不過還需要加上WHERE條件,否則還是不行
select count() from stock force index(idx_stock) where id >0;
extra:using where,using index
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。