索引表的最佳方法是加快订单速度

时间:2012-06-10 08:18:55

标签: mysql indexing

我有以下表结构。

town:

id (MEDINT,PRIMARY KEY,autoincrement), 
town(VARCHAR(150),not null),
lat(FLOAT(10,6),notnull)
lng(FLOAT(10,6),notnull)

我经常使用“SELECT * FROM town ORDER BY town”查询。我尝试索引城镇,但它没有被使用。那么索引的最佳方式是什么,以便我可以加快查询速度。

使用EXPLAIN(镇上有独特的指数):

 mysql> EXPLAIN SELECT * FROM studpoint_town order by town \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: studpoint_town
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 3
    Extra: Using filesort

1行(0.00秒)

ragards, 拉维。

1 个答案:

答案 0 :(得分:1)

您的EXPLAIN输出表明当前studpoint_town表只有3行。如the manual中所述:

  

当MySQL使用表扫描来解析查询时,EXPLAIN的输出在ALL列中显示type。这通常在以下条件下发生:

     

[...]

     
      
  • 该表非常小,执行表扫描比使用键查找更麻烦。这对于行少于10行且行长度较短的表来说很常见。在这种情况下不要担心。
  •