现在的位置: 首页 > 综合 > 正文

Oracle SQL调优笔记

2012年05月09日 综合 ⁄ 共 566字 ⁄ 字号 暂无评论

Oracle SQL调优,系统调优尽量是在线调节。因为调优对场景依赖性很强,把生产库上的数据搬到测试环境上,好多环境都改变了,导致调优方案和结果不准确。

比如:硬件不同,导入导出后,表的碎片,索引碎片,表分析时间都不同,数据访问频度不同。

Oracle SQL调优笔记若碰到SQL的性能问题,比如:执行计划发生改变了

首先考虑的是:

a:对涉及到的表做move,减少碎片

b:对move过的表做索引重建

c:对表做表分析

比如:exec dbms_stats.gather_schema_stats(ownname=>'BOMUSER',options=>'gather auto');手动统计bomuser所有表,收集统计信息,

收集表的统计信息:

begin

dbms_stats.gather_table_stats

('SCOTT','T',

method_opt => 'for all columns size AUTO',

cascade => TRUE );

end;

在收集统计信息时,oracle OCM建议使用 dbms_stats.gather_table_stats取代analyze table,特别是对于分区表,analyze收集的全局统计信息有时候是不准确的(因为它是累计的)。dbms_stats与analyze在很多方面都有区别。

d:然后再具体的调节SQL。

给我留言

留言无头像?