Warum es in der Ergebnisnachricht in mysql immer ein Tildezeichen (~) gibt

786
Waseem

Immer wenn ich in der Tabelle in mysql etwas aktualisiere oder durchsuche, zeigt die Ergebnisnachricht immer das Ergebnis wie dieses an.

Showing rows 0 - 10 ( ~11 total, Query took 0.0004 sec)

Wenn die genaue Anzahl der Zeilen angezeigt wird, wird vor den Gesamtwerten immer ein "~" angezeigt.

Dieses Zeichen weist darauf hin, dass diese Tabelle "fast 11 Zeilen" oder "ungefähr 11 Zeilen" aufweist. Dies ist jedoch nicht der Fall. Es hat genau 11 Reihen. Warum also dieses Zeichen?

Wir verwenden diese Zeichen nur, wenn wir nicht die exakten Werte für das Ergebnis oder irgendetwas haben.

Ich habe die FAQs zu diesem Thema gelesen.

phpMyAdmin uses a quick method to get the row count, and this method only returns an approximate count in the case of InnoDB tables. See $cfg['MaxExactCount'] for a way to modify those results, but this could have a serious impact on performance. 

Die in dieser Anweisung verwendete Methode zeigt diese Zeilen

For InnoDB tables, determines for how large tables phpMyAdmin should get the exact row count using SELECT COUNT. If the approximate row count as returned by SHOW TABLE STATUS is smaller than this value, SELECT COUNT will be used, otherwise the approximate count will be used. 

Ich habe diese Zeilen nicht verstanden, was sie zu sagen versuchen.

0

1 Antwort auf die Frage

0
Drakkim

Sie haben die Frage irgendwie selbst beantwortet, aber lassen Sie mich etwas näher erläutern. Da phpMyAdmin immer die gleiche schnelle Methode zum Zählen von Zeilen verwendet, ist es nicht immer genau. Je größer die Daten sind, desto größer ist die Wahrscheinlichkeit, dass sie ungenau sind. phpMyAdmin prüft nicht, ob die Zählung genau ist (was den Zweck der schnellen Zählung beeinträchtigen würde), so dass es nicht weiß, wann es genau ist. Es ist einfacher (und sicherer), immer auf Nummer sicher zu gehen und davon auszugehen, dass dies möglicherweise ungenau ist.

Dies ist jedoch nur bei InnoDB der Fall, in der MYISAM-Speichermaschine werden die Ergebnisse immer ohne das Zeichen (~) angezeigt. Waseem vor 10 Jahren 0