2010-06-26 6 views
7

Dies ist MySQL erklären Plan für eine der Abfrage, die ich untersuche.Welche Bedeutung hat die Reihenfolge der Anweisungen in mysql EXPLAIN-Ausgabe?

+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+ 
| 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 rows in set (0 sec)

Was ist die Bedeutung der Reihenfolge der Aussagen in dieser Ausgabe? Bedeutet dies, dass table5 vor allen anderen gelesen wird?

Antwort

4

Die Tabellen werden in der Reihenfolge in der Ausgabe aufgelistet, in der MySQL sie während der Verarbeitung der Abfrage lesen würde. Sie können read more about the Explain plan output here.

Außerdem sagt der Ausgang mir:

  • Der Optimierer sah die Abfrage als vier (4) SELECT-Anweisungen innerhalb dieser Gruppe. Da diese Abfragen ein "einfacher" Auswahltyp sind, verwenden sie keine UNION- oder Unterabfragen.
  • Zwei dieser Anweisungen könnten Indizes verwenden (basierend auf der Spalte type), bei denen es sich um Primärschlüssel handelt (basierend auf der Spalte key). Die anderen beiden konnten keine Indizes verwenden.
Verwandte Themen