2009-06-03 3 views
1
mysql> explain SELECT p.id ID, p.job_desc_title Title, p.url URL, substr(p.posting_date, 1, 10) Date, 
    ->           p.job_city_name City, 
    ->           p.job_state_name State, 
    ->           b.screen_name Name, b.type Type,f.name Company,IF(g.account_id IS NULL,0,1) Online 
    ->           FROM postings p 
    ->       LEFT JOIN accounts b on p.account_id=b.id 
    ->       LEFT JOIN companies f on f.id=p.job_cmp_id 
    ->       LEFT JOIN online g ON g.account_id=p.account_id 
    ->       WHERE (MATCH(job_desc,job_desc_title,k_state,k_city,zip) AGAINST('+java' IN BOOLEAN MODE)) AND b.closed=0 AND NOT p.expired 
    ->       
    ->       LIMIT 0 , 5 
    -> ; 
+----+-------------+-------+----------+--------------------------------------------------+--------------------------------------+---------+-----------------+------+-------------+ 
| id | select_type | table | type  | possible_keys         | key         | key_len | ref    | rows | Extra  | 
+----+-------------+-------+----------+--------------------------------------------------+--------------------------------------+---------+-----------------+------+-------------+ 
| 1 | SIMPLE  | p  | fulltext | FK_listings,f_postings_city_state_desc_title_zip | f_postings_city_state_desc_title_zip | 0  |     | 1 | Using where | 
| 1 | SIMPLE  | f  | eq_ref | PRIMARY           | PRIMARY        | 4  | v3.p.job_cmp_id | 1 |    | 
| 1 | SIMPLE  | g  | eq_ref | account_id          | account_id       | 4  | v3.p.account_id | 1 | Using index | 
| 1 | SIMPLE  | b  | eq_ref | PRIMARY           | PRIMARY        | 4  | v3.p.account_id | 1 | Using where | 
+----+-------------+-------+----------+--------------------------------------------------+--------------------------------------+---------+-----------------+------+-------------+ 
4 rows in set (0.00 sec) 

이전에는 관련성이있는 주문 이었지만 지금은 그렇지 않습니다.MYSQL에서이 쿼리의 기본 순서는 무엇입니까?

답변

5

주문이 없으면 "기본"순서는 쿼리에 사용 된 인덱스와 사용 순서를 결정합니다. 이것은 데이터/통계가 변경되고 최적화 프로그램이 다른 계획을 선택함에 따라 변경 될 수 있습니다.

데이터를 특정 순서로 원하면 ORDER BY를 사용하십시오. 그러나 나는 당신이 이미 그것을 알고있을 것이라고 확신합니다.

2

순서대로 필요하지 않다면 ORDER BY 절을 사용하십시오.

+5

기본 정렬 순서는 초콜릿 상자와 같습니다. – TheTXI

관련 문제