您的位置:首页 > 数据库 > Oracle

Oracle sql 优化:增加order by 慢 去掉之后就变快 解决办法

2017-02-13 10:22 671 查看
一 问题背景:

1.oracle的版本的为11g

2.数据是由生产库导入部分数据至开发库

3.表为范围分区表

4.order by 的字段为分区表的分区字段

5.数据记录大概有一千万;

5.使用的分析工具为toad10

二 问题描述

1.加上order by的执行计划:



2.去掉order by的执行计划:



三问题分析

   步骤1:表order by的字段,是否有索引

ps:经检查,索引正常,开启索引监控,索引会被使用;

  步骤2:是否收集过统计信息;

ps:由于是新导入的数据,可能未收集统计信息,重新收集统计,但是很奇怪,分析的统计信息的时间戳,不会更新(正常会更新);

分析前:



分析后:



  步骤3:由于有时间范围作为分区的字段,通过增加范围条件,缩小查询的范围

ps:可能最直接的原因是这个,最后让业务系统,在打开页面的时候,初始化一个时间段,问题解决,执行计划如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐