oracle数据库执行计划笔记

   最近开发一个需求,需要查询数据展示到界面,一开始就想着从哪些表关联起来取值,费了老半天终于把三个表关联起来,查出的数据看着还行,刚开始查询挺慢的,我就加了索引,然后查看执行计划,速度、消耗大大有所改善,就这么把代码提交了。后来到了测试环境,巨卡,完全不能用的感觉,没办法只能重新优化,将所有要的信息放到一个表中查出,新加字段去存储,以此解决查询慢的问题。

在这个查看执行计划的过程中,发现并学习了一点东西,做一下笔记:
1.加了索引,执行之后,查看执行计划并没有更新起作用,查看表的状态,还未更新。

 --更新最新状态
ANALYZE TABLE 表名 COMPUTE Statistics;

2.在plsql中执行一条语句,第一次执行时间比较慢,第二…多次执行查询的时间大大减少。
主要是有缓存机制,从缓存中查询,所以这么看查询的时间是不够准确的。
可以先清理一下缓存:

-- 请数据库缓存
alter system flush shared_pool ;
alter system flush BUFFER_CACHE ;

3.查看执行计划

--执行计划
explain plan for  你的查询语句;
--然后执行下面这句就能看到执行计划了
SELECT * FROM  TABLE(dbms_xplan.display());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值