一個100w行左右的資料表,存盤引擎是MyIsam
在慢日志中2017.8.8日開始出現這種查詢的慢日志
執行如下陳述句
select d_id,deleted,url_1,title,sp_f68,creator,createdate,createtime,audited,sp_f3577,key_word,menddate,mendtime,mender,video_column,published_1 from content where creator = 'wangsh' and createdate >= '2017-08-08' order by d_id desc limit 0,30;
實際命中5條記錄。
現象
1. 不加后面的limit 每次執行都快
2. 加上limit0,30 執行時間13秒
3. 加上limit0,100 就很快
explain

求解決思路
uj5u.com熱心網友回復:
用explain 看看執行情況,分析一下。uj5u.com熱心網友回復:
@sinat_28984567explain的截圖已經有了啊
uj5u.com熱心網友回復:
三條陳述句的一樣?uj5u.com熱心網友回復:
還真是不一樣,我只是在查詢時間這個條件里的時間資料變化了一下,為什么就會有不同的執行計劃呢??
uj5u.com熱心網友回復:
show index from contentuj5u.com熱心網友回復:
排序引起的 filesort。 order by d_id 改成 order by createdate 試下。應該會很快或者 把索引 createdate 改成 d_id,createdate
uj5u.com熱心網友回復:
http://www.cnblogs.com/drcoding/p/4942277.html轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115303.html
標籤:MySQL
