度量快速开发平台-专业、快速的软件定制快开平台

标题: oracle in 查询速度优化 [打印本页]

作者: fteair    时间: 2020-2-2 17:35
受教,like查找数据效率
作者: 万望    时间: 2020-2-28 22:38

作者: 陈晓龙    时间: 2020-3-27 18:51

作者: 陈晓龙    时间: 2020-3-27 18:52

作者: 陈晓龙    时间: 2020-3-29 14:38
万望 发表于 2015-11-19 17:54
我手贱啊,又进来了,是不是因为写的太美了

你搞笑么!
作者: caixuqad    时间: 2020-4-4 14:27

作者: caixuqad    时间: 2020-4-5 15:07

作者: caixuqad    时间: 2020-4-8 15:53

作者: 刘亚东    时间: 2020-4-18 20:56
标题: oracle in 查询速度优化
在网上查了好多资料,都是说用什么exists,或者位图什么的。不过这些方法都是多少年以前的了,现在oracle10G以上的人家自己就已经优化了,所以用in 和 exists 是一样的效果。不过经过我的努力,这个"in"在某种情况下还是可以优化的,如下图是我用in查询的一个语句,执行结果让人忧伤啊,下面的三个表的数据分别是:800,700,1000,结果执行时间超过了1分钟:

折磨了我一天,终于想到了一个方法,就是用LIKE,之前网上也有资料说用LIKE,不过他就论坛恢复中写了一个单词LIKE,好家伙,一般人难以理解啊,下面我就把代码贴出来,仔细看是谁like谁哦:

好家伙,一下变6秒,妙哉妙哉。
在解释一下,就是用wm_concat()把in的类容转换为都好分隔的字符串,然后在那这个字符串去like。这个原理还没深入研究,不过事实是效率提高了,而且数据准确。



作者: 王爱东    时间: 2020-4-18 21:04
尽量别用IN。特别是in 里面数据多的。别用。in里面只有几个少数的时候还行。
作者: 王爱东    时间: 2020-4-18 21:05
一定要慎重使用。否则数据多了,慢得要命。
作者: 刘亚东    时间: 2020-4-18 21:21
沙发居然被强了
作者: 刘亚东    时间: 2020-4-18 21:22
你的动作好快
作者: 张军勇    时间: 2020-4-18 21:40
支持原创的优化经验分享。。。
作者: 张军勇    时间: 2020-4-18 21:41
like语句反写,效果很好。
都来围观学习。
作者: 万望    时间: 2020-4-18 21:46
上楼如此之快,lz威武
作者: 陈晓龙    时间: 2020-4-18 22:01
不错不错,生动,案例好!
作者: 万望    时间: 2020-4-19 17:54
我手贱啊,又进来了,是不是因为写的太美了
作者: 刘亚东    时间: 2020-4-19 19:57
太完美,太完美
作者: 陈晓龙    时间: 2020-5-29 14:36
效果确实高出很多




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2