麻煩經驗豐富的大神給解答下,謝謝
問題描述:資料量不大,按理說應該毫秒回傳,where條件查詢兩個條件很快(where sellerMemberId=? and status=? --1秒之內 執行計劃看圖1),(where sellerMemberId=? and status=? and mergeOrderStatus=? --10秒之上 執行計劃看圖2),這又是為什么???
表資料量:30w
表操作:求count
命中資料量:570
索引情況:where條件欄位都有索引
執行sql陳述句:SELECT COUNT(0) AS total FROM al_order_1 t1
WHERE sellerMemberId = 'b2b-2413499052' AND status = '買家已付款' AND mergeOrderStatus IN ('0', '3', '4') AND gmtcreate <= '2017-12-09 23:59' AND gmtcreate >= '2017-11-24 00:00'
圖1:查詢2個where條件的執行計劃

圖2:查詢多個where條件的執行計劃執行計劃:

uj5u.com熱心網友回復:
索引建得有問題吧? 第一個執行計劃看起來用的是兩個索引,第2個只有一個uj5u.com熱心網友回復:
1樓說的對,資料量大用建索引會加快檢索效率轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/102428.html
標籤:MySQL
下一篇:kettle抽取資料輸出hdfs報錯:Could not close the output stream for file
