立即注册 登录
度量快速开发平台-专业、快速的软件定制快开平台 返回首页

刘亚东的个人空间 http://plat.delit.cn/?5 [收藏] [复制] [RSS]

日志

oracle in 查询速度优化

热度 1已有 1332 次阅读2018-6-24 17:55 |个人分类:数据库技术|系统分类:数据库技术| oracle, 10G, 11G, 速度优化, 查询速度, oracle

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

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

好家伙,一下变6秒,妙哉妙哉。

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


路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2018-9-25 21:34 , Processed in 0.132747 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部