2009-03-01 23 views

Antwort

11

Ich habe immer

getan
SELECT count(*) from table 

Die oben wird bei Ihnen geben die Gesamtzahl aller Zeilen.

Sie könnte genauso gut auf eine tack WHERE-Klausel die Anzahl der eine Teilmenge

SELECT count(*) from table WHERE foo = 'bar' 
3
SELECT count(*) 
FROM table_name 
2

COUNT (*) Fakten und Mythen zu erhalten:

MYTHOS: "InnoDB behandelt nicht gut (*) Anfragen gut ":

Die meisten count (*) Abfragen werden auf die gleiche Weise von allen sto ausgeführt Rage-Engines, wenn Sie eine WHERE-Klausel haben, sonst müssen Sie InnoDB einen vollständigen Tabellenscan durchführen.

FACT: InnoDB nicht optimiert count (*) Abfragen ohne die where-Klausel

+0

Das wäre es nicht ein wahrer Mythos, sondern etwas, das nur unter begrenzten Umständen wahr ist, einschließlich der Umstand in der ursprünglichen Frage: eine Zählung aller Zeilen in einem Tabelle. – thomasrutter

Verwandte Themen