これは私のテーブル構造です(約100万レコード):
特定の日付でいくつかのインデックスを選択する必要がありますが、関連するのは年と月だけです。
SELECT `index_name`,`results` FROM `mst_ind` WHERE
((`index_name`='MSCI EAFE Mid NR USD' AND MONTH(`date`) = 3 AND YEAR(`date`) = 2003) OR
(`index_name`='MSCI Morocco PR USD' AND MONTH(`date`) = 3 AND YEAR(`date`) = 2003))
AND `time_period`='M1'
問題なく動作しますが、パフォーマンスはひどいものです。プロファイラーを使用してクエリを実行しましたが、可能なキーを提案できませんでした。
主キーには、index_id、date、および time_period が含まれます。
このクエリを最適化/改善するにはどうすればよいですか?
ありがとう!
更新: 説明レポート: