數據庫有83W條記錄,本想計算20180101以後的天天賠付狀況,故寫了如下SQL語句:數據庫
SELECT 起保時間,sum(賠付金額) as 日賠付測試
FROM maindata索引
WHERE 起保時間>'20180101' 效率
GROUP BY 起保時間數據
結果每次執行要7.5S。查詢
對 ‘起保時間’ 創建索引 速度反而加到7.8S。時間
通過屢次測試,改爲顯式從查詢結果GROUP BY ,效率大大提升,大概在1.1S,SQL語句以下:data
SELECT 起保時間,sum(賠付金額) as 日賠付
FROM (SELECT 起保時間,賠付金額 FROM maindata WHERE 起保時間>'20180101') t
GROUP BY 起保時間
特記之!