Oracle在navicat查看执行计划,order by时间索引优化

9 篇文章 0 订阅

select * from TB_SS_INFORMATION_CN order by PUB_DATE desc ;

该表目前10w数据,再不建立索引的情况下,执行此SQL时间为1min.可查看其执行计划:

先执行 EXPLAIN PLAN FOR select * from TB_SS_INFORMATION_CN order by PUB_DATE desc ;

再执行 select * from table(dbms_xplan.display); 主要看rows。如果都显示100k了那说明就是需要优化。

对于ORDER BY 时间的优化,先建立PUB_DATE字段的索引。

CREATE INDEX TB_PUBDATE_INDEX ON TB_SS_INFORMATION_CN(PUB_DATE);

然后在SQL语句中加入where条件,对于PUB_DATE的范围取值。这样的话可以走到索引。这种时间区间ORACLE也专门提供了。以下是取最近一个月的记录。

select * from TB_SS_INFORMATION_CN  where  IS_HOTTOPIC = 'Y' and  PUB_DATE>=add_months(trunc(SYSDATE),-1) and
PUB_DATE<= SYSDATE order by PUB_DATE desc ;

再次查看执行计划

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Navicat Premium是一款功能强大的数据库管理工具,它可以方便地查看和管理数据库。 在查看执行计划参数之前,我们首先需要执行一条SQL查询语句。在Navicat Premium的查询编辑器中输入SQL语句,然后点击执行按钮。 执行完成后,我们可以在结果窗口中查看到查询的执行结果和执行计划。在结果窗口的底部可以看到一个标签页,标有"Execution Plan",点击该标签页可以查看执行计划的相关参数。 执行计划参数解释如下: 1. 查询类型(Query Type):表示该查询语句是SELECT、INSERT、UPDATE还是DELETE。 2. 访问类型(Access Type):表示数据库在执行查询时使用的具体访问方式,如全表扫描、索引扫描、索引范围扫描等。 3. 访问对象(Accessed Table):表示数据库中被访问的表。 4. 许可证类型(License Type):表示该查询执行时使用的许可证类型,如Cost-Based Optimization、Rule-Based Optimization等。 5. 行数(Rows):表示查询返回的行数。 6. 扫描行数(Scanned Rows):表示在执行查询时实际扫描的行数。 7. 返回行数(Returned Rows):表示返回给用户的行数,可能小于扫描行数。 通过查看执行计划参数,我们可以了解到查询的执行过程,包括访问方式、访问对象以及查询的行数等信息。这些参数对于数据库性能优化和调优非常重要,可以帮助我们分析和改进SQL查询语句,提升数据库的查询效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值