以下のようなSQLですが、下記の★の部分の区分で条件を絞るようにしたらwhere句のインデックスが効かなくなって遅くなりました。
SQL
1SELECT * FROM テーブルA 2 INNER JOIN テーブルB ON テーブルB.結合キー = テーブルA.結合キー 3 WHERE テーブルB.主キー IN (値1,値2....) 4 and テーブルA.削除区分 = FALSE ★追加した。 5 AND テーブルB.削除区分 = FALSE ★追加した。
テーブルA:40レコード程度
テーブルB:10万レコード程度
RDBMS:MySQL
作成しているインデックス
・テーブルA.結合キー
・テーブルB.主キー
・テーブルB.結合キー
joinしていなければ同じテーブル内のwhere句のキーの複合インデックスを使えば対応できるかと思いますが、joinした場合にもインデックスが適用されるようにするにはどのようにするのがセオリーなのでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/28 06:07
2021/01/28 06:10