Myslím, že máte trochu zmatek, máte špatnou představu, „EXISTS“ funguje rychleji než „IN“ a já se snažím, abyste pochopili důvod..
EXISTS vrátí boolean a vrátí boolean při první shodě. Takže pokud máte co do činění s duplikáty/násobky, 'EXISTS' bude rychlejší k provedení než 'IN' nebo 'JOIN' v závislosti na datech a potřebách.
Zatímco „IN“ je syntaktický cukr pro klauzule OR. I když je to velmi vstřícné, existují problémy se zpracováním mnoha hodnot pro toto srovnání (severně od 1 000). V případě duplikátů/násobků 'IN' kontroluje všechny existující hodnoty, což přirozeně spotřebuje více času na provedení než 'EXISTUJE', proto je 'IN' vždy poměrně pomalejší než 'EXISTS'.
Doufám, že jsem objasnil váš zmatek.