2 iammrwu iammrwu 于 2013.09.02 16:07 提问

SQL Server 2008 r2 查询效率问题(求关注求关注求关注)

我有一张表,共有56个字段。发现以下情况:
1、我在我的开发机执行sql语句
set statistics time on
SELECT * FROM [eShop].[dbo].[Product]
CSDN移动问答
(多次执行,时间平均在90-100ms)
2、在服务器上有相同的数据库,相同的表,相同的内容。执行同样SQL语句,执行结果为:
CSDN移动问答
(多次执行,时间平均在250ms)
3、在我的开发机连服务器的数据库,执行该语句,执行结果为:
CSDN移动问答
(多次执行,平均时间只有35ms左右)
以上是现象。
问题是:同样的数据库,同样的表,同样的内容,同样的系统(server 2003),服务器的硬件也并不比我的开发机差,不知道为什么执行时间差这么多?
而在硬件比较差的另一台服务器上用sqlserver2000的数据库查询速度反而更快。不知道是什么原因?有人碰到过吗?
///*************/////
我的开发机profile中CSDN移动问答
服务器上profile中CSDN移动问答
///*************/////
数据库版本为sqlserver 2008 R2 ,补丁为sp2。
已经在多台服务器上做过测试,执行时间从七八十毫秒到五六百毫秒不等(有的硬件好的服务器执行时间反而比差的耗时还要长)。
而且就取一百多条数据,怎么会用时这么长呢?sqlserver2005和sqlserver2008 似乎同样有这个问题。而在sqlserver2000上就没有这个问题(不会超过50ms)。

3个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2015.01.18 22:08
lzp_lrp
lzp_lrp   Ds   Rxr 2015.01.18 22:14

按正常分析,在服务器上执行效率应该是最高的,因为你用了top,可能服务器做了一些处理

建议你取全部的数据,然后再分析一下,结果应该是服务器上执行效率高

oyljerry
oyljerry   Ds   Rxr 2015.01.18 22:20

会不会是数据库服务器执行的时候还是有运行上条件,环境的区别

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!