0
我有一些問題得到一個指數來此查詢(通過MicroStrategy的生成)工作:MySQL索引的優化MicroStrategy的
SELECT a11.method method, sum(a11.call_count) CALLCOUNT
FROM call_facts a11
JOIN dimension a12 ON (a11.user_id = a12.user_id)
JOIN service a13 ON (a11.service_id = a13.service_id)
WHERE (a12.is_fraudulent = 0
AND a12.is_test_account = 0
AND a13.in_directory in ('yes')
AND a11.date > '2011-10-01')
GROUP BY a11.method;
我目前對a12.is_fraudulent和a12.is_test_account指數。解釋顯示使用這兩個索引合併。 a11和a13的指數都很好。我可以創建什麼索引來加快查詢的速度?
作爲參考,a12有大約8 M條目,其中7.4條匹配is_test_account = 0 and is_fraudulent = 0
個案。
爲什麼你在(「是」)a13.in_directory代替a13.in_directory =「是」? –
查詢是由我的業務分析小組使用的一些軟件生成的。我無法修改查詢,因此我試圖儘可能優化索引以提高性能。現在這個查詢需要大約2個小時才能運行。 – Jericon
感謝您的解釋。 –