ドキュメントの追跡に使用される Sql Server データベースを使用しており、indexTables に格納されている 4 つの値に基づいて重複しているドキュメントを見つけようとしています。私がこれまでに持っているものは信じられないほど遅いです。これをスピードアップする方法はありますか?
select d.ID, d2.ID
from DOCUMENTS d
inner join IndexTable1 itm on d.ID = itm.ID
inner join IndexTable2 pd on d.ID = pd.ID
inner join IndexTable3 amt on d.ID = amt.ID
inner join IndexTable4 acct on d.ID = acct.ID
inner join DOCUMENTS d2 on d.ID <> d2.ID
inner join IndexTable06 itm2 on d2.ID = itm2.ID and itm.VALUE=itm2.VALUE
inner join IndexTable07 pd2 on d2.ID = pd2.ID and pd2.VALUE = pd.VALUE
inner join IndexTable03 amt2 on d2.ID = amt2.ID and amt.VALUE = amt2.VALUE
inner join IndexTable13 acct2 on d2.ID = acct2.ID and acct.VALUE = acct2.VALUE
詳細情報: 「推定実行計画の表示」を実行すると、IndexTable2 (37%) と IndexTable3 (35%) で Clustered Index Seek を実行すると、最大のヒットが発生することがわかります。