Exists / not exists: 'select 1' vs 'select field'

Welche der beiden besser abschneiden würde (ich wurde kürzlich beschuldigt, nicht vorsichtig mit meinem Code umzugehen, weil ich den späteren in Oracle verwendet habe):

Select * 
from Tab1
Where (not) exists(Select 1 From Tab2 Where Tab1.id = Tab2.id)


Select * 
from Tab1
Where (not) exists(Select Field1 From Tab2 Where Tab1.id = Tab2.id)

Oder sind beide gleich?

Bitte antworten Sie sowohl aus Sicht von SQL Server als auch aus Sicht von Oracle.

Ich habe gegoogelt (meistens von SQL-Server-Seite) und festgestellt, dass es immer noch eine Menge Debatten darüber gibt, obwohl meine derzeitige Meinung / Annahme der Optimierer in beiden RDMBS ausgereift genug ist, um zu verstehen, dass alles, was von der Unterabfrage benötigt wird ist ein Boolescher Wert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage