2010-06-26 2 views
7

이것은 내가 찾고있는 쿼리 중 하나에 대한 MySQL의 계획을 설명합니다. 세트mysql 설명 출력의 명령문 순서의 의미는 무엇입니까?

+----+-------------+--------+-------+---------------+---------+---------+------+------+-------+ 
| 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 행 (0 초)

이 출력 문장의 순서의 의미는 무엇인가? Table5가 다른 모든 테이블보다 먼저 읽혀진다는 의미입니까?

답변

4

테이블은 MySQL이 쿼리를 처리하는 동안 읽는 순서대로 출력에 나열됩니다. 당신은 read more about the Explain plan output here 일 수 있습니다.

또한, 출력은 나에게 말한다 :

  • 최적화는 그 안에 4 개의 SELECT 문을 가진 것으로 쿼리를 보았다. "단순한"선택 유형이므로 이러한 쿼리는 UNION 또는 하위 쿼리를 사용하지 않습니다.
  • 두 명령문은 기본 키 (key 열 기반) 인 인덱스 (type 열 기반)를 사용할 수 있습니다. 다른 두 사람은 색인을 사용할 수 없습니다.