考试网 >> IT认证 >> Oracle >> Oracle指导 >> 一条SQL语句的优化过程

一条SQL语句的优化过程

发布时间:2006-06-28 09:48     点击:
分页:[1] 2 3 4 5  下一页

  很简单的一次调整,语句加了适当的索引后性能就有大幅的提升。当时看到这条语句的时候,第一感觉就是执行效率肯定低下。语句的功能是求某一客户当天产品的总销量。

  

  

  

  原来的语句是这样的:

  

  

  select sum(sl0000) from xstfxps2 where

  dhao00 in (

  select dhao00 from xstfxps1 where trunc(ywrq00)=trunc(sysdate)

  and khdm00=’500000003913’);

  已用时间: 00: 02: 49.04

  

  Execution Plan

  ----------------------------------------------------------

  0 SELECT STATEMENT Optimizer=CHOOSE

  1 0 SORT (AGGREGATE)

  2 1 NESTED LOOPS

  3 2 TABLE ACCESS (FULL) OF ’XSTFXPS2’

  4 2 TABLE ACCESS (BY INDEX ROWID) OF ’XSTFXPS1’

  5 4 INDEX (UNIQUE SCAN) OF ’XSTFXPS1_PK’ (UNIQUE)

  

  Statistics

  ----------------------------------------------------------

  0 recursive calls

  0 db block gets

  17355138 consistent gets

  34141 physical reads

  2912 redo size

  198 bytes sent via SQL*Net to client

  275 bytes received via SQL*Net from client

  2 SQL*Net roundtrips to/from client

  0 sorts (memory)

  0 sorts (disk)

  1 rows processed

  我们看到统计信息里面进行了17355138次逻辑读,34141次物理IO,这是相当吓人的数字。在执行计划里面我们看到表XSTFXPS2来了一次全表扫描。
分页:[1] 2 3 4 5  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有