Es ist ein bekanntes Problem, bei dem innodb nur langsam vorgeht
SELECT count(*) FROM Table
Daher habe ich das vermieden. Ich stelle jedoch fest, dass bei jeder Anmeldung bei phpmyadmin automatisch eine count(*)
für meine innodb-Tabelle mit 19.000 Zeilen ausgeführt wird, deren Ausführung bis zu einer Minute dauern kann. count(*)
Für die andere innodb-Tabelle mit 4 Millionen Zeilen wird dies jedoch nicht initiiert .
Ein weiterer Hinweis in phpmyadmin in der Spalte Datensätze: Die Anzahl der Datensätze für die Tabelle mit 19.000 Zeilen zeigt den genauen Wert an, während in der Tabelle mit 4 Millionen Zeilen ein Wert von ca.
Ich verstehe, dass die innodb-Tabelle eine Schätzung der Zeilenanzahl gibt. Es scheint jedoch, dass phpmyadmin für eine kleinere Tabelle, in diesem Fall mit 19.000 Zeilen, eine Entscheidung trifft, count(*)
anstatt nur eine Schätzung abzugeben .
Die Frage ist, gibt es eine Möglichkeit, phpmyadmin daran zu hindern, eine solche Zählung auf meinem Innodb-Tisch durchzuführen? Es ist in Ordnung, nur eine Schätzung abzugeben, anstatt eine teure Zeilenzählung durchzuführen, wenn ich meinen phpmyadmin-Bildschirm aktualisiere.
20000
mit einer kleineren Zahl, z. B.300
speichere die Datei, aktualisiere phpmyadmin und du kannst loslegen.Antworten:
Bearbeiten Sie config.inc.php und ändern Sie die Einstellung für MaxExactCount .
quelle
phpMyAdmin führt nur dann eine tatsächliche
select count(*)
Anzahl durch, wenn die geschätzte Anzahl der Zeilen innerhalb des festgelegten Schwellenwerts liegt (Standard ist 500 KB, abhängig von Ihrer Version):Stellen Sie einfach den Schwellenwert auf eine kleinere Zahl ein, um sinnlose
select count(*)
s zu vermeiden .quelle