Očekával bych, že první dotaz bude rychlejší, hlavně proto, že máte ekvivalent a explicitní JOIN. Podle mých zkušeností IN
je velmi pomalý operátor, protože SQL jej normálně vyhodnocuje jako řadu WHERE
klauzule oddělené "OR" (WHERE x=Y OR x=Z OR...
).
Stejně jako u ALL THINGS SQL se však vaše kilometry mohou lišit. Rychlost bude mimo jiné hodně záviset na indexech (máte indexy na obou sloupcích ID? To hodně pomůže...).
Jediný SKUTEČNÝ způsob, jak se 100% jistotou zjistit, který je rychlejší, je zapnout sledování výkonu (obzvláště užitečné je statistika IO) a spustit oba. Mezi běhy nezapomeňte vymazat mezipaměť!