W T-SQL, co jest szybsze?Co jest szybciej w IN lub OR?
DELETE * FROM ... WHERE A IN (x,y,z)
Albo
DELETE * FROM ... WHERE A = x OR A = y OR A = z
w moim przypadku X, Y i Z mają wejściowe parametry procedury przechowywanej. Próbuję uzyskać wydajność moich instrukcji DELETE i INSERT najlepiej jak potrafię.
Thnx, w planie wykonania zobaczyłem, że kosztowałoby dokładnie tyle samo czasu procesora. – Zyphrax
To nie jest prawda. In nie jest przetłumaczone jako serise ors. Najlepiej będzie profilować zapytanie i zobaczyć rezultat. Najczęściej EXISTS jest szybsze niż IN. Ale OR * powinno * być szybsze niż oba. Zależy jednak od indeksów. –
@Frank, mówimy o INs z listami wartości, a nie IN z podzapytaniami. –