oracle杂记(2)

本文记录了作者在学习Oracle执行计划时的所见所闻,通过示例展示了如何查看执行计划,并对比了两种不同的分页查询语句在效率上的差异。通过查询优化,解释了为何第二种分页查询方式更快,原因是CBO优化模式下,查询条件能被推入内层,从而提高执行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天在论坛上看到一个哥们讨论那个SQL语句效率高的问题,第一次看到了执行计划这个东东,然后看了好多关于执行计划的信息,晕的一塌糊涂。oracle水太深,得慢慢来,对这个问题的学习,自己作下记录。

查看执行计划,要在sql语句前加上如下代码

set autotrace on :含查询输出,执行计划,统计信息

set autotrace on exp  :只显示执行计划

set autotrace on stat::只显示统计信息

关于执行计划,本人目前就这水平啦,会这两行代码。然后自己就想测一下,就又学到了一条语句,因为要对比明显,那数据量就得大。就学到了如下这语句:

insert into t1 select rownum from dual connect by level<=100000;直接插入10万条,也就是10万条数字。

然后自己就创建了一张表,搞了10万条数据。用了两个语句进行测试,那就是两句分页代码,看看效果。

分页语句
(1)select t.* from (select rownum as num,t1.* from t1)t where num between 30 and 70

(2)select * from (select t.*,rownum as num from (select * from t1)t where rownum<=70) where num>=30

效果分别如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值