WEB开发网
开发学院数据库Oracle Oracle数据库11g新特性:SQL Performance Analyze... 阅读

Oracle数据库11g新特性:SQL Performance Analyzer

 2008-12-16 13:03:30 来源:WEB开发网   
核心提示: 现在您可以看到,使用索引是如何强制减少缓冲区的,Oracle数据库11g新特性:SQL Performance Analyzer(6),但是,情况总是那么乐观吗?看看另一条 SQL:与上一例的 31.95% 相比,当您决定是否要更改参数时,您应该考虑到这些 SQL 语句的重要性,此例改进甚

Oracle数据库11g新特性:SQL Performance Analyzer

现在您可以看到,使用索引是如何强制减少缓冲区的。但是,情况总是那么乐观吗?看看另一条 SQL:

Oracle数据库11g新特性:SQL Performance Analyzer

与上一例的 31.95% 相比,此例改进甚微,只有 0.48%.原因是什么?为了找到答案,单击 SQL ID,出现如下屏幕:

Oracle数据库11g新特性:SQL Performance Analyzer

在这里,您可以看到究竟是什么改变了。所用时间实际上从 0.504 秒延长为 1.022 秒,而且都是因为 CPU 时间。为什么?如果您检查一下数据分布模式,您就会看到 promo_id 是这样分布的:

SQL> select promo_id, count(1) cnt from sales group by promo_id;
  PROMO_ID    CNT
---------- ----------
    534     1
    999   887837
    350   18022
    33    2074
    351   10910
      ----------
sum      918844

promo_id 999 在表中出现了 887,837 次,将近 97%.当将计划改为包含索引扫描时,这个查询就比较困难了。如果对全表进行扫描,情况应该会好一些。因此,即使整体影响是积极的,也会有个别组件拖后腿。当您决定是否要更改参数时,您应该考虑到这些 SQL 语句的重要性,这些语句既可能改进也可能退化。

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle 数据库 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接