
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 必须有……百万级数据量就看出差距了 |
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 的字段加入索引 |