SQL数据库性能调优杂记傻瓜机的失效效应续(二)_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

SQL数据库性能调优杂记(二)----傻瓜机的失效效应续[组图]

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:效应组图失效数据库
黑客防线网安网讯:  上文说道了失效效应。只想说明在Performance Tunning方面只能根据情况来寻求原因并解决。这是一个有意思的过程。大原则是经验,帮助我们少犯错误。因此,糟糕的设计,必然导致性能问题。...

  上文说道了失效效应只想说明在Performance Tunning方面只能根据情况来寻求原因并解决这是一个有意思的过程。大原则是经验帮助我们少犯错误。因此糟糕的设计,必然导致性能问题。没有经验的程序员必然会写出糟糕的代码。但是良好的设计可以弥补程序员的经验不足。这个到此打住,这个topic涉及品质管理,实在太大了。

  再看一例,失效效应的体现。

  还是上文数说道了2种SQL文写法产生的执行计划。我选用一台双核的PC,相当于2个单核CPU。

  有一个大表TB_CWB。记录约30-40万。(在生产环境下属于小数据量,在我的测试中可以看成大表)。表上已经对fn_Clt_Datetime 做了索引。

  1.SQL文一

  select CWB_No,fn_Clt_Datetime,acctId_guid,fn_OrigZone_Id,DestSZMCode,DestZone_Id,CWBType,fn_Clt_Datetime,fn_cwbtype,
  PayType,Payweight,StdPriceweight,StdFreight,IsCalculated,AFterDsctFreight,
  SchgFreight,InvcFreight,Salesamount,SchgDetail,SchgFreight_Remarks
  from OCS_TB_CWB
  WHERE
  fn_Clt_Datetime between '2008-9-1' and '2008-9-16'

  运行结果,发现奇慢无比。需要12秒才能出结果。

  检查执行计划,发现用了聚集索引扫描(主键),就是相当于选择了全表扫描的计划。因为CBO认为这句SQL比动用索引还要快。见下图

    

  2 SQL文二

  存储过程写法

  declare @date_from datetime
declare @date_to datetime
  
set @date_from='2008-9-1'
set @date_to='2008-9-16'
  
select CWB_No,fn_Clt_Datetime,acctId_guid,fn_OrigZone_Id,DestSZMCode,DestZone_Id,CWBType,fn_Clt_Datetime,fn_cwbtype,
PayType,Payweight,StdPriceweight,StdFreight,IsCalculated,AFterDsctFreight,
SchgFreight,InvcFreight,Salesamount,SchgDetail,SchgFreight_Remarks
from OCS_TB_CWB
WHERE
fn_Clt_Datetime between @date_from and @date_to

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-9772-1.html
网站维护教程更新时间:2012-03-21 02:25:31  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer