MySQLのIndexについて質問です。
SQLのOrder by句にテーブルのPrimary Keyを指定すると、Indexの候補が複数あってもExplainのindexがPRIMARYになるのですが、PRIMARY以外で候補に上がってindexを適用することはできないのでしょうか。
Order by句を削除すれば、PRIMARY以外のIndexが適用されるのですが、Order by句を削除せずに解決する方法が分かりません。
ネットなどで調べると、複合Indexを作成して~、などとあるのですが、それでも解決しませんでした。
Order by句にPKを指定すると、どうしようもないのでしょうか。
目的はクエリ実行速度の改善です。
indexがPRIMARYより他のindexの方がExplainで確認すると速度改善されるためです(体感も)。
テーブル定義などは業務で利用しているので、割愛させて頂きます。
登録されているデータ行は6000000レコード程です。
どなたかご教示頂けますと幸いです。
よろしくお願いします。
なぜ、「Order by句を削除せずに」「PRIMARY以外で候補に上がってindexを適用」したいのかを教えてください。その目的がわからないと、適切なアドバイスができない可能性があります。もし、「SQLの実行速度を改善したい」ということであれば、現状のSQL文とテーブル定義(SHOW CREATE TABLE の実行結果)、各テーブルに格納されているレコードのおおよその行数を質問欄に追記してください。
失礼しました。目的などは次の通りです。
よろしくお願いします。
==>
目的はクエリ実行速度の改善です。
indexがPRIMARYより他のindexの方がExplainで確認すると速度改善されるためです(体感も)。
テーブル定義などは業務で利用しているので、割愛させて頂きます。
登録されているデータ行は6000000レコード程です。
回答2件
あなたの回答
tips
プレビュー