搜索了一下,网上说说 is null 操作不会走索引,所以查询速度会比 nvl 要来的慢?但是如果没有索引的话,是不是就是 2 中方式的查询速度就一样了呢?
搜索了一下,网上说说 is null 操作不会走索引,所以查询速度会比 nvl 要来的慢?但是如果没有索引的话,是不是就是 2 中方式的查询速度就一样了呢?
|
ppyybbAug 22, 2018 via iPhone
1
你实践一下就知道了,用 explain 把查询过程弄出来就明白了。往往猜测和实际差异都很大
|
|
fatcheungAug 22, 2018
2
函数也不走索引啊。不过我猜是 NVL 效率高。
|
|
bpllzbhAug 22, 2018
3
试试 where a > '';
or 和 null 判断都会丢失索引 |
|
4
又是一个被以讹传讹的博客文章毒害的。。。谁说 is null 不走索引的,null 怎么就不能索引?这个不科学。最好还是自己试试看弄清楚比较好。
|
|
weizhen199Aug 22, 2018
5
oracle 还真不会给 null 索引,一般都是建一个联合索引,第二个索引字段设为常量,或者加个 nvl 做函数 index
|