知识大全 Oracle的in和not in(图)
Posted 语句
篇首语:天不生无用之人,地不长无名之草。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle的in和not in(图)相关的知识,希望对你有一定的参考价值。
Oracle的in和not in(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在很多软件系统中 系统的性能很打程度上有数据库的性能决定 以前也曾经做过很多次关于性能方面的各种测试 特别是关于oracle的 我想到也应该记录下来一部分 为大家共享 事情发生在我们的系统从sqlserver移植到oracle 用户在一个查询的操作上等待的时间无法忍受了 我们关于这个查询的处理与原来的方式一下 难道sqlserver 同oracle有什么地方不一样么 让我们来看看oracle有什么地方有问题 或者是我们使用的有问题? 业务问题大概可以这样描述 一个父表 一个子表 查询的结果是找到子表中没有使用父表id的记录 这种情况估计很多系统都会牵涉得到 让我们来举一个例子 > 父表存储父亲 子表存储孩子 然后通过pid和父表关联 查询需要的结果是找到尚未有孩子的父亲 我们来看一下查询语句的写法 select * from parent where id not in (select pid from childen) 这种标准的写法在子表存在 万条的记录的时候 查询时间超过了 秒 远远大于原来的sql server服务器的一秒 我在解决的时候想到了一个方法 select * from parent where id in ( select id from parent minus select pid from childen ) 正常理解下 这个语句应该更加费时 但是事实完全出乎意料 这条语句不仅仅在子表存在大量记录的情况下速度良好 在子表少量数据的情况下速度也非常的好 基本在 秒内完成 这个结果可以很明显的证明oracle 在子查询的内部处理的时候 使用 in 和 not in 的巨大区别 希望用到这种方式的用户注意 也期待有人解释其中的问题 附录 测试数据的语句 create parent table drop table parent; create table parent(id varchar( ) name varchar( ) primary key (id) ); create childen table drop table childen; create table childen(id varchar( ) pid varchar( ) name varchar( ) primary key (id) ); Create/Recreate primary unique and foreign key constraints alter table CHILDEN add constraint fk_ foreign key (PID) references parent (ID); add test date for parent Created on by GUIP declare Local variables here i integer; begin Test statements here i := ; delete from parent; loop i := i + ; dbms_output put_line(i); insert into parent(id name) values(i name || i); if (i mod = ) then mit; end if; exit when i > ; end loop; mit; end; add test date for childen Created on by GUIP declare Local variables here i integer; j integer; begin Test statements here i := ; delete from childen ; loop j := ; loop i := i + ; j := j + ; insert into childen(id pid name) values(i j name || j); if (i mod = ) then mit; end if; exit when j>= ; end loop; exit when i >= * ; end loop; mit; end; cha138/Article/program/Oracle/201311/17959相关参考
知识大全 recover database in time point
SQL>startup ORACLE例程已经启动 TotalSystemGlobalArea bytes FixedSize bytes VariableSize
知识大全 从数据结构的角度分析 for each in 比 for in 快的多
今天仔细琢磨了会从数据结构的角度分析了下觉得forin和foreachin效率上有着本质的区别无论是JS还是AS 之前听说火狐的JS引擎支持foreachin的语法例如下述的代码复制代码
ingeneral和generally区别ingeneral一般,大体上Ingeneral,peoplelikeher人们一般都喜欢她generallyadv.一般地generallyspeaking
今天开发人员让我优化一个sql
知识大全 Fly,fly in the sky.这首歌的英文歌词和中文翻译
Fly,flyinthesky.这首歌的英文歌词和中文翻译 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
inlackof的用法inlackof[释义]缺乏用法这里的lack是抽象名词,因此,inlackof这个短语成立,比如:Amaninlackofself-confidenceseizesnochan
从Firefox访问JavaPlug-in 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
安卓手机什么修图软件好我推荐Picsart,PSTouch,pixlr,snapseed和MIX滤镜大师。你想要简单一点的,我推荐玩图,天天P图,照片工坊,相机360,美妆相机,潮自拍,in和Face
在ASP.NET中使用SQL的IN操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这篇文章将
increaseinrevenue是什么意思increaseinrevenue增加的收入revenue英[ˈrevənju:]美[ˈrevənu:]n.收益;财政收入;税收收入;[例句]Revenue