8 Stimmen

Welche Bedeutung hat die Reihenfolge der Anweisungen in der mysql explain-Ausgabe?

Dies ist mysql erklären Plan für eine der Abfrage, die ich bin in suchen.

+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+
| id | select_type | table  | type  | possible_keys | key     | key_len | ref  | rows | Extra |
+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+
|  1 | SIMPLE      | table2 | index | NULL          | PRIMARY | 4       | NULL |    6 |       | 
|  1 | SIMPLE      | table3 | ALL   | NULL          | NULL    | NULL    | NULL |   23 |       | 
|  1 | SIMPLE      | table1 | ALL   | NULL          | NULL    | NULL    | NULL |    8 |       | 
|  1 | SIMPLE      | table5 | index | NULL          | PRIMARY | 4       | NULL |    1 |       | 
+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+

4 Reihen im Satz (0 sec)

Welche Bedeutung hat die Reihenfolge der Anweisungen in dieser Ausgabe? Bedeutet es, dass Tabelle5 vor allen anderen gelesen wird?

5voto

OMG Ponies Punkte 312816

Die Tabellen werden in der Ausgabe in der Reihenfolge aufgeführt, in der MySQL sie bei der Verarbeitung der Abfrage lesen würde. Sie können Lesen Sie hier mehr über die Ausgabe des Explain-Plans .

Zusätzlich sagt mir die Ausgabe:

  • Der Optimierer sah, dass die Abfrage vier (4) SELECT-Anweisungen enthielt. Da es sich um einen "einfachen" Select-Typ handelt, verwenden diese Abfragen weder UNION noch Unterabfragen.
  • Zwei dieser Anweisungen könnten Indizes verwenden (basierend auf dem type Spalte), die Primärschlüssel waren (basierend auf der key Spalte). Die beiden anderen konnten keine Indizes verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X