次のクエリがあります
SELECT DISTINCT T_Med.Comp, T_Med.ItemID, T_Med.WP, T_Med.DocName, T_Med.TrfCode,
T_Med.CatDescr, T_Med.SubCatDescr, T_LKPWP.RuleCode, T_MedWP.RuleCode,
T_Med.Group
FROM (T_Med INNER JOIN T_LKPWP ON (T_Med.DocName=T_LKPWP.SDocName)
AND (T_Med.[WP]=T_LKPWP.WP))
LEFT JOIN T_MedWP ON T_LKPWP.RuleCode=T_MedWP.RuleCode
WHERE (((T_MedWP.RuleCode) Is Null));
DISTINCT のため、処理に時間がかかります。これらの関連フィールドのインデックスを作成したにもかかわらず、DISTINCT に対しては役に立たないことがわかりました。DISTINCT 同じクエリを使用しないと、結果が 1 秒未満になります
ここで、T_Med には 1070065 レコード、T_MedWP には 366315 レコード、T_LKPWP には 55 レコードがあります。
とにかく、期待される結果を別の方法で達成する方法はありますか。DISTINCT なしで別のテーブルを作成しようとしましたが、それでも時間がかかりました。
コメントをお待ちしております