数据库历史分区表分析性能调查

发布时间:2024年01月23日

问题:

测试与生产环境保持一致,同样的查询历史分区表sql执行性能不一致,测试库较快0.3秒,生产库要2分钟。经排查是生产环境当天的分区没有做表分析。

调查:

背景:历史表内每个分区表有1800万数据,统计sql执行时间

1、测试库将表分区的统计信息去除:

exec dbms_stats.delete_column_stats(user,'EYGLE','OWNER');

查询表统计信息是否去除:

sql执行时间:10.73s

2、执行表分析中:

analyze table PROC_PROGRESS_LOG compute statistics;

sql执行时间:9s

3、执行表分析后:

sql执行时间:0.139s

解决方案:

添加定时晚间批处理对新建分区异步进行表分析。

文章来源:https://blog.csdn.net/li371490890/article/details/123636267
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。