1
ziyuan 2015-01-28 20:51:31 +08:00
oracle的话,可以查看执行计划,一般是有必要,mysql不太清楚了
|
2
garfeildma 2015-01-28 20:57:21 +08:00
看具体的查询语句吧,order by在很多时候会用上索引,具体可以看这个
http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html |
3
p2p 2015-01-28 20:59:46 +08:00
数据量大了 必要性就体现出来了
|
4
kslr 2015-01-28 21:08:07 +08:00 via Android
很明显的提高速度
|
5
zts1993 2015-01-28 21:28:00 +08:00
有的,。。。
|
6
xoxo 2015-01-28 21:34:21 +08:00
很必要, 而且建议BTree方式索引
|
7
a2z 2015-01-28 21:50:17 +08:00 1
必须有……百万级数据量就看出差距了
|
8
est 2015-01-28 21:55:33 +08:00
where key2 order by key1
key1 必须加索引。 http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html |
9
JamesRuan 2015-01-28 22:16:21 +08:00
为什么是可能会?数据库不应该是根据业务设计的吗?
还处在 [可能] 的时候就别想着加INDEX,等确定一定会的时候再加。 |
10
blacktulip 2015-01-29 00:38:30 +08:00
虽然 Knuth 说过那啥,不过我觉得这个属于那 3% 吧,加索引不麻烦又不影响别的啥,就加上呗
|
11
nrop19 2015-01-29 04:28:54 +08:00 via Android
如果是 order by 点击量,那还要点击量这个字段也要索引吗?
|
12
dazuiba 2015-01-29 07:47:03 +08:00
mysql一次只用一个index,联合索引可能有用的。
|
13
woshicixide 2015-01-29 15:58:25 +08:00
当然有
|
14
skywatcher 2015-01-29 16:16:47 +08:00
根据你的常用查询来决定,所以没确定就暂时不加吧,万一后来得用复合索引,那就得换。garfeildma 已经给出了可用情况
|
15
ShiningRay 2015-03-04 13:19:11 +08:00
看 where 之后筛选出来的记录数量,如果比较少的话,而且 order 后面的 selective 并不高的话,可以考虑不给 order 的字段加入索引
|