slowquerysログでこのクエリを検出しました。slowquery何が問題なのですか?
SELECT GREATEST(IFNULL(`twk-status`.`status`,0) , `groups`.`status`)
FROM `groups`
LEFT JOIN `twk-status` ON
(`twk-status`.`groupID` = `groups`.`ID`
AND `twk-status`.`startdate` <= FROM_UNIXTIME(1317204000)
AND `twk-status`.`enddate` >= FROM_UNIXTIME(1317204000)
AND ISNULL(`twk-status`.`deleted`)
AND `twk-status`.`groupID` = 11)
WHERE `groups`.`ID` = 11;
私は、次のレポートを生成するEXPLAIN使用してクエリを実行しました:
id table possible_keys key
1 twk-status groupID,groupID_2,enddate NULL
1 groups PRIMARY PRIMARY
これは、MySQLがTWK-状況テーブルのための3つの可能なキーのいずれかを使用しなかったことを意味します。正しい?
はここでクエリがグループID、STARTDATE、終了日を使用していますTWK-状態からキー
groupID (groupID)
groupID_2 (groupID, startdate, enddate, deleted)
enddate (enddate, createdate, deleted)
だ、私はgroupID_2が鍵となるwhould思っを削除しました。
これはクエリの問題でありインデックスの問題ではありませんか?
ありがとうございました。
この 'EXPLAIN'は非常に奇妙です。 'EXPLAIN'のテーブルと**正確な**出力の定義を投稿してください。 – Quassnoi
あなたはどのバージョンのMySQLを使用していますか? – Quassnoi