我有下面的表结构。
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/