Podle této otázky , podpora n-tic v MySQL není optimalizována. Jak píše @O.Jones ve svém komentáři, plánovač dotazů v MySQL je mocně složitá bestie a věci, které by měly práce se nechovají vždy tak, jak byste očekávali.
Věřím, že váš druhý dotaz je rychlejší, protože první kde klauzule dept_id in (101, 103)
zmenšuje prostor pro vyhledávání pro druhý, který používá n-tice. Optimalizátor dotazů by měl udělejte to automaticky, ale alespoň ve vašem příkladu tak nečiní.
Nevěřím tomu IN
klauzule je problém - je to porovnání n-tice, které skenuje celou tabulku a nepoužívá dostupné indexy.