WEB开发网
开发学院数据库MSSQL Server JT SQL Server 性能调优札记之二 阅读

JT SQL Server 性能调优札记之二

 2009-02-20 10:22:42 来源:WEB开发网   
核心提示: SET STATISTICS IO on;SET STATISTICS TIME on;执行存储过程,这里由于信息量比较大,JT SQL Server 性能调优札记之二(2),我就不贴了,上一张图吧,两个在Log表上面的“聚集索引扫描”:无论哪个RDBMS的语句调优

SET STATISTICS IO on;
SET STATISTICS TIME on;

执行存储过程,这里由于信息量比较大,我就不贴了,上一张图吧。

JT SQL Server 性能调优札记之二

可见@SQL1的语句耗时并不多,@SQL2资源占用是非常厉害的。其中 Log 表扫描530次,这个表的数据量有257417条,说大不大,说小也不小了,而且还得扫描530次,唉,啥也不说了,而shouwen这张表就小很多也有25000+条记录。

我将@SQL2的语句整理出来,去掉那个讨厌的 insert into #employees。

select distinct s.parentId,s.pkId,1,s.title,s.comeOrg,s.fileDate,
  s.fileName,s.filePath,1,l.optionstatus,s.remark3,urgencyLevel
  from shouwen as s,
  log as l
  where
  (s.fileSerialNumber like '%%' or s.title like '%%'
   or s.keywords like '%%' or s.fileZi like '%%')
   and s.status<>'4'
   and s.pkid in
    (select distinct(mid) from log where uid='glzyf' and typeid='shouwen')
   and l.mid=s.pkid and uid='glzyf' and typeid='shouwen'
order by s.fileDate desc 

看看这个select 语句的执行计划啦。

JT SQL Server 性能调优札记之二

以下才是重点,两个在Log表上面的“聚集索引扫描”:

JT SQL Server 性能调优札记之二

无论哪个RDBMS的语句调优,绝大部分的情况下都是将执行计划中的“扫描”转变为“查找”。下一篇讲解如何将“扫描”变为“查找”。

上一页  1 2 

Tags:JT SQL Server

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