クエリが好きな理由
delete from A where F1 IN (1,2,3,5,5) and F2 IN (7,9,10,11)
非常に遅い (F1 と F2 はインデックスが作成され、統計が更新されます)。どのように最適化しますか?
クエリが好きな理由
delete from A where F1 IN (1,2,3,5,5) and F2 IN (7,9,10,11)
非常に遅い (F1 と F2 はインデックスが作成され、統計が更新されます)。どのように最適化しますか?
推測では、デュアルループです
私のサンプルは
選択です 最初に選択を最適化する方がはるかに高速です
PK に結合すると、クエリ オプティマイザーはより多くの作業を
行うことができます しかし、PK では 5 を 2 回挿入することはできません
create table #tempF1 (ID int primary key);
insert into #tempF1 values (1),(2),(3),(4);
create table #tempF2 (ID int primary key);
insert into #tempF2 values (1),(2),(3),(5);
select *
from tbl
inner merge join #tempF1
on tbl.F1 = #tempF1.ID
inner merge join #tempF2
on tbl.F1 = #tempF2.ID
あなたの状況では機能しない可能性があり、他の結合ヒントをテストし、ヒントなしでテストする
クエリオプティマイザーが愚かになった複雑なクエリを持ついくつかの大きなテーブルでこの手法を使用します