Enligt denna fråga , stöd för tupler i MySQL är inte optimerat. Som @O.Jones skriver i sin kommentar är frågeplaneraren i MySQL en mycket komplex best, och saker som bör arbetet beter sig inte alltid som man kan förvänta sig.
Jag tror att din andra fråga är snabbare eftersom den första where-satsen dept_id in (101, 103)
minskar sökutrymmet för den andra som använder tuplarna. Frågeoptimeraren bör gör detta automagiskt, men gör det åtminstone inte i ditt exempel.
Jag tror inte på IN
klausulen är problemet - det är tuppeljämförelsen som skannar hela tabellen och inte använder tillgängliga index.