我有下面的表结构。

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”查询。我尝试索引城镇,但未使用。那么索引的最佳方法是什么,这样我就可以加快查询速度。

使用说明(城镇中存在唯一索引):

 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秒)

rag子
拉维。

最佳答案

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


  当MySQL使用表扫描来解析查询时,EXPLAIN的输出在ALL列中显示type。这通常在以下情况下发生:
  
  [...]
  
  
  该表是如此之小,以至于执行表扫描要比打扰键查找更快。对于少于10行且行长较短的表,这是很常见的。在这种情况下,请不要担心。

关于mysql - 索引表的最佳方法,以加快订单处理速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10967250/

10-11 22:25
查看更多