奇怪的问题,SQL2008和SQL2000速度差异很大
2台测试机器,
A机器:曙光服务器,32G内存,WIN2008SERVER,同一个数据库附加在SQL2000和SQL2008上,1500万条数据查询测试,SQL2008速度比SQL2000快2倍
B机器:THINKPAD笔记本,16G内存,WIN7旗舰版64位同一个数据库附加在SQL2000和SQL2008上,1500万条数据查询测试,SQL2000速度比SQL2008快2倍
数据库都是一样,的,两台机器都安装了SQL2000,和SQL2008
两台机器测试结果完全相反,请问这是什么原因,是不是B笔记本上的SQL2008设置有问题?
------解决方案--------------------同机器的2次测试时,最好关闭另一个实例,并清除缓存和执行计划后再进行测试..
-- 清除缓存的执行计划
DBCC FREEPROCCACHE
-- 清除缓存的数据
DBCC DROPCLEANBUFFERS
------解决方案--------------------其实"1500万条数据查询测试"的本质是对磁盘I/O效率的测试..
1. THINKPAD笔记本有几个硬盘?
SQL2000和SQL2008分别安装的路径是?
附加的数据库文件路径是?
2. 检查SQL2008的系统设置,是否有设定最大使用内存.
检查SQL2008是否是32位版的?
------解决方案--------------------A机器:曙光服务器,32G内存,WIN2008SERVER,同一个数据库附加在SQL2000和SQL2008上,1500万条数据查询测试,SQL2008速度比SQL2000快2倍
给结果
SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
你的语句
------解决方案--------------------你只给内存.还有CPU.硬盘呢.还有系统运行时的环境呢.?
------解决方案--------------------WIN7旗舰版64位
只能安装开发版的sql吧?这样的数据库有很多限制的
------解决方案--------------------重建索引、更新统计,设定兼容级别后再测试
------解决方案--------------------
还要关注那些 环境呢?
会有什么影响呢?
------解决方案--------------------
你不给出详细结果,如何帮你分析呢除了上面两条建议再给出另外的计划。
SET STATISTICS profile ON
GO
SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
只能把上面三个结果完整的贴出来,才能做到有的放失的去分析,否则只能靠猜。
------解决方案--------------------
A机器:曙光服务器,32G内存,WIN2008SERVER,同一个数据库附加在SQL2000和SQL2008上,1500万条数据查询测试,SQL2008速度比SQL2000快2倍
给结果
SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
你的语句
就是普通查询语句,THINKPAD上2000大概30秒左右,2008要1分50秒
你不给出详细结果,如何帮你分析呢除了上面两条建议再给出另外的计划。
SET STATISTICS profile ON