很急,一条查询SQL耗时1.5h走了全表扫描,那张表里面有索引,而且索引没有失效

星星点点的绿光 2020-08-04 03:02:11
我进那张表里面查了一下,表很大,而且上面查的那些列带有索引,求帮助,很急
...全文
308 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把索引重建一下
=PNZ=BeijingL 2020-12-08
  • 打赏
  • 举报
回复
SQL 好小,看着晕, 我建议你用 SQLTUNE分析一下 DECLARE l_tuning_task VARCHAR2(30); BEGIN l_tuning_task := dbms_sqltune.create_tuning_task(sql_id => '这里是你的SQLID '); dbms_sqltune.execute_tuning_task(l_tuning_task); dbms_output.put_line(l_tuning_task); --打印的任务ID 例如:TASK_224 END; --查看报告 select dbms_sqltune.report_tuning_task('TASK_224') from dual;
hellsing 2020-12-07
  • 打赏
  • 举报
回复
有小部分时候NL的速度要慢于hash,所以试试用 hint use_hash。 前提是保证统计信息准确,如果不保证可以试用dbms_gather包重新统计一下。 另外楼上有说分区表的,个人的建议是还要考虑实际的业务情况、查询方式才好确定是否试用。
  • 打赏
  • 举报
回复
js14982 2020-08-05
  • 打赏
  • 举报
回复
把这个表上的索引信息也列一下
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
miqi_oracle 2020-08-05
  • 打赏
  • 举报
回复
尼玛9个索引,大表查询慢建议分区
  • 打赏
  • 举报
回复
1.统计信息确认准确 2.尝试hint强制走索引看看释放提示查询速度?
riven2011 2020-08-04
  • 打赏
  • 举报
回复
把sql和索引信息以及执行计划贴出来看看
js14982 2020-08-04
  • 打赏
  • 举报
回复
首先要确定为什么没有走索引啊,你的语句是什么样的。 可以试一下重新分析一下统计信息

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧