當使用limit時,explain可能會造成誤導

來源:互聯網
上載者:User

When EXPLAIN can be misleading
原文見:http://www.mysqlperformanceblog.com/2006/11/12/when-explain-can-be-misleading/

 

(1)explain當估計行數時,不考慮limit,因此可能會對查詢估計過多的檢查行數

(2)類似於SELECT ... FROM TBL LIMIT N這樣的全表掃描的查詢因為用不到索引將要報告為慢查詢,如果--log-queries-not-using-indexes被開啟的話;可以在設定檔中使用min-examined-row-limit=Num of Rows來設定,如果要檢查的行數大於等於這個量的查詢才會被報告為慢查詢

(3)類似於這樣形式的SELECT ... FROM TBL WHERE KEY_PART1=CONST ORDER BY KEY_PART2 LIMIT N,mysql也要估計出過多的檢查行數

 

相關於slow-query的參數:

log-slow-queries -- 開啟慢查詢

long_query_time=N -- 大於N秒的查詢為慢查詢,並且要滿足min-examined-row-limit的要求

log-queries-not-using-indexes  -- 記錄不使用索引的為慢查詢,並且要滿足min-examined-row-limit的要求

min-examined-row-limit=N -- 要檢查的行數大於等於N時才記錄為慢查詢,前提是必須滿足long_query_time和log-queries-not-using-indexes約束

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.