kann mir einer sagen was genau der Unterschied zwischen einem Select und Select 1 Befehl ist? Bis jetzt weiß ich nur das der Befehl Select 1 wohl immer im zusammenhang mit exists oder not exists genutzt wird. Aber warum?
“The * will be expanded to some potentially big column list and then it will be determined that the semantics of the EXISTS does not require any of those columns, so basically all of them can be removed.
Select * durchsucht alles (bulk select) und vereinnamt daher wesentlich mehr performance je größer die zu durchsuchende datenmenge ist.
“SELECT 1″ will avoid having to examine any unneeded metadata for that table during query compilation.”
Select 1 benutzt das mitgegebene key um differenziert zu suchen und somit die performance nicht so sehr zu belasten.
Source : http://www.sqlskills.com/blogs/conor/2008/02/07/EXIS…