次の形式のような SQL クエリを使用しています。
SELECT col1, col2
FROM table1
LEFT OUTER JOIN table2
ON table1.person_uid = table2.person_uid
AND table1.period = table2.period
そして、戻るのに少なくとも4分かかるため、遅すぎるか、何かがデッドロックしています. これを次のように変更するとします。
SELECT col1, col2
FROM table1
LEFT OUTER JOIN table2
ON table1.person_uid = table2.person_uid
WHERE table1.period = table2.period
その後、正常に動作します(ただし、正しい数の列が返されません)。これをスピードアップする方法はありますか?
UPDATE : 後者のクエリの最後の 2 行を切り替えると、同じことが行われます。
SELECT col1, col2
FROM table1
LEFT OUTER JOIN table2
ON table1.period = table2.period
WHERE table1.person_uid = table2.person_uid
更新 2: これらは実際に私が参加しているビューです。残念ながら、それらは私が制御できないデータベース上にあるため、インデックスを (簡単に) 変更することはできません。ただし、これはインデックス作成の問題であることに同意する傾向があります。私が知らないこのクエリを調整する魔法の方法がある場合に備えて、回答を受け入れる前に少し待ちます。それ以外の場合は、現在の回答のいずれかを受け入れて、やりたいことを行う別の方法を見つけようとします。これまでお世話になりました。