MySQL EXPLAIN EXTENDED gefilterte Spalte (natürlich ist es nicht ein Prozentsatz)
Ich gesucht habe, und Sie alle staatlichen irgendeine Art von Prozentsatz, erklären:
EXPLAIN EXTENDED SELECT * FROM PageAccess ORDER BY AccessId DESC LIMIT 20;
SELECT COUNT(*) FROM PageAccess;
Geben:
id, select_type, table, type, possible_keys, key, key_len, ref, rows, filtered, Extra
1, 'SIMPLE', 'PageAccess', 'index', '', 'PRIMARY', '4', '', 20, 9295.00, ''
(Ja, gefiltert = 9295.00)
und:
1830
Für count(*)
Ja, ich möchte die letzten 20 Zeilen, AccessId, ist die auto-increment primary key.
Was bedeutet 9295 bedeuten!?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Quelle http://dev.mysql.com/doc/refman/5.5/en/explain-output.html#explain_filtered
In der gefilterten 100% bedeutet, dass alle Zeilen aus dieser Tabelle gefiltert werden.
So dass immer der höhere Wert ist nicht besorgniserregend, da seiner ein gutes Zeichen, bedeutet es
nicht Lesen, wie viel Daten aus der Tabelle.
Dies ist, wie der berechnete. Sagen wir ich habe eine Tabelle namens
users
Können führen einige Analyse auf.Können Sie sehen, es gibt 79309 Zeilen in der Tabelle. Jetzt mal zu erklären
Nun Fragen, warum
filtered = 396545.00
Sowie die Kalkulation ist einfach.
Die Tabelle hat Zeilen Gesamt = 79309 sagen Ihrem tx.
Die erklären, zeigt Zeilen = 20 sagen seine tx1.
Die gefiltert wird berechnet als
Also, wenn dieser Wert hoch ist, bedeutet, dass die Abfrage gut ist und lese nicht alles aus der Tabelle.
Also nicht zu verwirren, dies ist nicht die Anzahl der Zeilen, die die Abfrage Aussehen seiner relativen Berechnung von % über Anzahl der Zeilen zur Verfügung, um die Anzahl von Zeilen abgerufen.
Wenn es zu 100 Bedeutung die Abfrage sucht alle verfügbaren Zeilen in der Tabelle.
filtered
Zahl bedeuten weniger Zeilen verbunden sind, was eine schnellere Abfrage?explain
. Aber die Idee war es einen signifikanten Hinweis auf die Abfrage ausgeführt wird und, wenn notwendig, besser die Optimierung.