WEB开发网
开发学院数据库MSSQL Server SQL Server性能调优杂记(一)----傻瓜机的失... 阅读

SQL Server性能调优杂记(一)----傻瓜机的失效效应

 2008-12-08 10:15:23 来源:WEB开发网   
核心提示: 2个执行计划的唯一差别就是图中的2个Paralism(数据库服务器是8个CPU),即我的那句SQL采用了并行装载数据的方法,SQL Server性能调优杂记(一)----傻瓜机的失效效应(3),而第一中没有使用并行装载,原因很简单,就好比傻瓜照相机还是用的人多,但是你要懂得傻瓜机也有判断失

2个执行计划的唯一差别就是图中的2个Paralism(数据库服务器是8个CPU)。即我的那句SQL采用了并行装载数据的方法。而第一中没有使用并行装载。原因很简单,因为执行计划分析器认为前面这句SQL执行代价很小,而我的执行代价很高。因此进行了区别对待,前者不需要动用硬件资源,后者则需要动用硬件资源。这就是失效效应。而一般认为慢就是因为硬件不够,在这里充分体现是无稽之谈。至少性能问题只有5%甚至更低的情况才和硬件有关。

至于这个代价估算的计算方法,只有查具体的技术文件,大体应该和数据大小,索引大小,逻辑读写,物理读写,CPU资源有关。因为是估算,因此有偏差很正常。

那么解决这个问题,加索引才是正途。这就是我前面讲到的原则。通过加索引,执行计划发生了变化。见下图。

SQL Server性能调优杂记(一)----傻瓜机的失效效应

增加索引后的速度结果飞快。

Paralism和索引的概念就好比,在南京路上找某户户主是王五,Paralism是出动16个警察,而索引就好比一个警察拿户籍登记册找。一个是拥有资源多而致胜,一个是工作方法好而致胜。

从这里可以看出,性能调优起始是一个根据实际情况进行平衡选择的过程,武断认为就是加索引,提升硬件都说明你不了原理。对了也只是运气好。

总结这个例子,失效效应就是CBO带来的一个有趣的现象。显然CBO要用,但是要去学习明白它的原理和特点。就好比傻瓜照相机还是用的人多,但是你要懂得傻瓜机也有判断失误的时候,所以要用“白加黑减”的曝光补偿。

上一页  1 2 3 

Tags:SQL Server 性能

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