| 

.NET C# Java Javascript Exception

Antwort #A1539 zur Frage #F410: SQL: Count(*)

Diese Antwort hat bisher 2 Versionen. Frage #F410: SQL: Count(*) - Antwort #A1539


Version 2
06.11.2009 20:06:15
Dies ist die aktuelle Version
Wir bereits geantwortet, werden hier schlicht Datensätze gezählt. count(*) ist deshalb auch etwas ganz Besonderes, denn es gibt zu Recht eben kein sum(*), min(*) oder andere Aggregate zusammen mit *.

Deshalb wird count(*) von einigen DB Systemen in Zusammenhang mit einer leeren where clause und ohne join optimiert und gibt einfach die Anzahl der Datensätze der Tabelle zurück, die häufig in den Metadaten zu finden ist. D.h. ein 'select count(*) from foo' kann auch bei Millarden Datensätzen innerhalb von µs beantwortet werden, während ein 'select count(bar) from foo' vielleicht Minuten benötigt, obwohl das Ergebnis das selbe ist.
BeachBlocker 502 3
Version 1
06.11.2009 20:06:15
Wir bereits geantwortet werden hier schlicht Datensätze gezählt. count(*) ist deshalb auch etwas ganz Besonders, denn es gibt zu Recht eben kein sum(*), min(*) oder andere Aggregate zusammen mit *.

Deshalb wird count(*) von einigen DB Systemen in Zusammenhang mit einer leeren where clause und ohne join optimiert und gibt einfach die Anzahl der Datensätze der Tabelle zurück, die häufig in den Metadaten zu finden ist. D.h. ein 'select count(*) from foo' kann auch bei Millarden Datensätzen innerhalb von µs beantwortet werden, während ein 'select count(bar) from foo' vielleicht Minuten benötigt, obwohl das Ergebnis das selbe ist.
BeachBlocker 502 3