0

大きなテーブル (200 万行以上) に対するクエリがあり、完了するまでに約 10 秒かかります。それを最適化する方法はありますか?クエリは次のとおりです。

SELECT
    DATE_FORMAT(date0, '%Y-%m' ) AS Yr_Mo, 
    DATE_FORMAT(date0, '%p' ) AS AM_PM,
    province AS Province,
    SUM( IF( top_ads + left_ads =0, 1, 0 ) ) AS pagesWithRightAdsOnly, 
    AVG( top_ads ) AS top_ads, 
    AVG( left_ads ) AS left_ads, 
    AVG( right_ads ) AS right_ads
FROM ad_counts
GROUP BY Yr_Mo, AM_PM, Province

テーブル「ad_counts」:

date0 (timestamp)
province(varchar)
keyword_id
number_ads(int)
top_ads (int)
left_ads (int)
right_ads (int)

date0 のインデックスですが、date0 は一意ではありません。

何かご意見は?

編集: 説明:

id select_type テーブル タイプ possible_keys キー key_len ref 行 エクストラ
1 SIMPLE baidu_pro_ad_counts ALL NULL NULL NULL NULL 2160752 一時的な使用。ファイルソートの使用
4

0 に答える 0