Zeilenanzahl für eine Tabelle in MySQL erhalten?

7

Kann mir jemand sagen, welches ist er besser in MySQL whin, wenn es darum geht, die Zeilenanzahl einer Tabelle zu finden: ist es besser zu tun

%Vor%

oder um die Zeilenanzahl in der Tabelle TABLE in INFORMATION_SCHEMA ?

nachzuschlagen

Dies wäre eine häufige Operation zum Berechnen der Seitennummerierung für Seiten?

Ich sollte hinzufügen, dass Tabellen höchstens einige tausend Zeilen haben.

Danke

Martin O'Shea.

    
Quassnoi 19.06.2009, 14:41
quelle

2 Antworten

18

In MyISAM , diese Abfrage:

%Vor%

ist sofort verfügbar, da es in den Metadaten der Tabelle enthalten ist. Daher ist es nahezu freigestellt, diese Abfrage auszugeben, und es wird immer das richtige Ergebnis erhalten.

In InnoDB zählt diese Abfrage Zeilen nacheinander, was einige Zeit dauern kann.

Wenn Sie also den genauen Wert von COUNT(*) nicht benötigen, können Sie INFORMATION_SCHEMA abfragen.

    
Quassnoi 19.06.2009 14:43
quelle
1

Ich würde auch die Verwendung von SQL_CALC_FOUND_ROWS und SELECT FOUND_ROWS() in Erwägung ziehen, wenn Sie COUNT(*) zu langsam finden.

    
Jason Shah 07.06.2013 03:13
quelle

Tags und Links