如果我有一个按字符串列排序的查询,就像这样...
SELECT * FROM foo ORDER BY name
...我应该为foo.name
创建一个索引吗? (foo.name
可以是VARCHAR(255)
或VARCHAR(400)
答案 0 :(得分:0)
在MySQL中使用我的测试表似乎没有影响。不过,我的测试表很小。解释说明Mysql必须在两种情况下进行文件排序;有和没有索引。
最好用解释检查您的查询以确认相同。
答案 1 :(得分:0)
显然,你应该在名字上创建一个索引。
如果您通过列运行order_by或按列运行条件,则应对这些列进行索引。
它将提高从任何数据库获得结果的速度。
但应谨慎使用索引。索引太多可能会降低数据库的速度。
您应该索引频繁搜索或经常搜索的列。