日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 查询优化 ~ explain与索引失效

發布時間:2024/4/17 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 查询优化 ~ explain与索引失效 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 explain
? 1 掃描行數根據的是表的統計元數據
? 2 索引的元數據具體指的就是show index from查到的索引的區分度,索引的區分度越高越好
? 3 表的元數據是定期收集,所以可能不準確
? 4 如果感覺explain不準確,可以用analyze table t命令重新收集
? 5 元數據不準確的場景大多出現在大量刪除數據和插入數據場景,針對大表尤其如此
二 元數據收集
? 參數 innodb_stats_persistent=ON 默認會持久化到內存 默認打開
? 參數 innodb_stats_auto_recalc 這個參數控制著在表中行的數量改變超過10%的時候,是否重新收集統計信息 這個收集的動作是異步的,在執行完大的dml后,可能會過一段時間才重新收集統計信息 默認打開
? 參數 innodb_stats_persistent_sample_pages 采樣使用的頁數 默認20 1 調大可能使analyze命令緩慢,加重負擔 2調小可能使大量的執行計劃產生誤區,并不建議調整此值
三 mysql優化器選擇錯誤索引的方法
? 1 采用force index強制走某項索引,但是這可能導致一個問題,以后系統遷移或者索引名變更會導致問題
? 2 改寫sql語句,讓mysql優化器進行再次判斷,選擇正確的索引
? 3 直接刪除索引本身,讓mysql優化器無法選擇該索引
四 總結
?1 如果出現mysql執行計劃不準確的情況下,可以采用上述方式進行處理,一般情況下,出現索引判斷失誤的情況比較少

五 明顯失效的幾個場景

? ? 1 當range出現? row掃描為1 ROW時候? ?

? ? 2? 掃描的行數遠遠多于表本身的數據量

轉載于:https://www.cnblogs.com/danhuangpai/p/10095001.html

總結

以上是生活随笔為你收集整理的mysql 查询优化 ~ explain与索引失效的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。