加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

database – 如何使用Oracle SQL语句解决性能问题

发布时间:2021-03-05 12:03:48 所属栏目:站长百科 来源:网络整理
导读:我有两个插入语句,几乎完全相同,它们在同一个Oracle实例上以两个不同的模式运行. insert语句看起来并不重要 – 我在这里寻找故障排除策略. 两种模式都有99%相同的结构.一些列的名称略有不同,除了它们是相同的. insert语句几乎完全相同.一个解释计划的成本为

我有两个插入语句,几乎完全相同,它们在同一个Oracle实例上以两个不同的模式运行. insert语句看起来并不重要 – 我在这里寻找故障排除策略.

两种模式都有99%相同的结构.一些列的名称略有不同,除了它们是相同的. insert语句几乎完全相同.一个解释计划的成本为6,另一个的解释计划的成本为7.两个插入语句集中涉及的表具有完全相同的索引.已经为两个模式收集了统计数据.

一个insert语句在5秒内插入12,000条记录.

另一个insert语句在4分19秒内插入25,000条记录.

插入的记录数是正确的.执行时间的巨大差异让我感到困惑.鉴于解释计划中没有任何突出的问题,您将如何确定导致运行时间差异的原因?

(我在Windows机器上使用Oracle 10.2.0.4).

编辑:问题最终成为一个低效的查询计划,涉及笛卡尔合并,不需要这样做.明智地使用索引提示和散列连接提示解决了这个问题.现在需要10秒钟. Sql Trace / TKProf给了我方向,因为我向我展示了计划中每个步骤花了多少秒,以及生成了多少行.因此TKPROF告诉我: –

Rows     Row Source Operation
-------  ---------------------------------------------------
  23690  NESTED LOOPS OUTER (cr=3310466 pr=17 pw=0 time=174881374 us)
  23690   NESTED LOOPS  (cr=3310464 pr=17 pw=0 time=174478629 us)
2160900    MERGE JOIN CARTESIAN (cr=102 pr=0 pw=0 time=6491451 us)
   1470     TABLE ACCESS BY INDEX ROWID TBL1 (cr=57 pr=0 pw=0 time=23978 us)
   8820      INDEX RANGE SCAN XIF5TBL1 (cr=16 pr=0 pw=0 time=8859 us)(object id 272041)
2160900     BUFFER SORT (cr=45 pr=0 pw=0 time=4334777 us)
   1470      TABLE ACCESS BY INDEX ROWID TBL1 (cr=45 pr=0 pw=0 time=2956 us)
   8820       INDEX RANGE SCAN XIF5TBL1 (cr=10 pr=0 pw=0 time=8830 us)(object id 272041)
  23690    MAT_VIEW ACCESS BY INDEX ROWID TBL2 (cr=3310362 pr=17 pw=0 time=235116546 us)
  96565     INDEX RANGE SCAN XPK_TBL2 (cr=3219374 pr=3 pw=0 time=217869652 us)(object id 272084)
      0   TABLE ACCESS BY INDEX ROWID TBL3 (cr=2 pr=0 pw=0 time=293390 us)
      0    INDEX RANGE SCAN XIF1TBL3 (cr=2 pr=0 pw=0 time=180345 us)(object id 271983)

请注意操作为MERGE JOIN CARTESIAN和BUFFER SORT的行.让我看到这一点的是生成的行数(超过200万!),以及每次操作花费的时间(与其他操作相比).

解决方法

使用 SQL Trace facility and TKPROF.

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读