顯上sql執行超時,其中lbl_his表比較大,資料量在2000W+,lbl_error_code表很小,只有幾百條資料。
用執行計劃看是命中索引的,除了count(*)改為count(主鍵),還有其他優化點嗎?求大佬指點(比如函式這塊)
SELECT
COUNT(*) totalCount,
SUM(IF(t.RESULT_FLAG = 'success', 1, 0)) successCount,
SUM(IF(b.ERROR_CODE = 'Y140', 1, 0)) unrecognizedCount,
SUM(IF(b.ERROR_CODE LIKE 'Y%' OR b.ERROR_CODE = 'E008', 1, 0)) connectCall,
SUM(IF(b.ERROR_CODE = 'N004', 1, 0)) hangupUnconnect,
SUM(IF(b.ERROR_CODE = 'Y001', 1, 0)) hangupConnect
FROM
lbl_his b LEFT JOIN lbl_error_code t ON b.TASK_ID = t.TASK_ID AND t.`CODE` = b.ERROR_CODE
WHERE
b.TASK_ID = "5f460e4ffa99f51697ad4ae3"
AND b.CREATE_TIME BETWEEN "2020-07-01 00:00:00" AND "2020-10-28 00:00:00"
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/194782.html
標籤:疑難問題
上一篇:變頻器
