Myślę, że masz trochę zamieszania, masz zły pomysł, „EXISTS” działa szybciej niż „IN” i staram się, abyś zrozumiał powód..
EXISTS zwraca wartość logiczną i zwraca wartość logiczną w pierwszym dopasowaniu. Więc jeśli masz do czynienia z duplikatami/wielokrotnościami, „EXISTS” będzie szybsze niż „IN” lub „JOIN” w zależności od danych i potrzeb.
Natomiast „IN” jest cukrem składniowym dla klauzul OR. Chociaż jest to bardzo wygodne, występują problemy z obsługą wielu wartości dla tego porównania (na północ od 1000). W przypadku duplikatów/wielokrotności „IN” sprawdza wszystkie istniejące wartości, co naturalnie zajmuje więcej czasu na wykonanie niż „ISTNIEJE”, dlatego „IN” jest zawsze stosunkowo wolniejszy niż „ISTNIEJE”.
Mam nadzieję, że wyjaśniłem twoje zmieszanie.