为什么升级到2005还更慢了? 100iamltd]

发布时间:2017-1-25 3:23:57 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"为什么升级到2005还更慢了? 100iamltd]",主要涉及到为什么升级到2005还更慢了? 100iamltd]方面的内容,对于为什么升级到2005还更慢了? 100iamltd]感兴趣的同学可以参考一下。

将数据库从2000迁移到2005上,其他什么都没改,访问反而还更慢了。。。 前台是asp的, 两台数据库服务器(分别跑2000和2005的)都是内存6G,RAID0 系统开了pae,数据库配置了awe,最小内存4G,最大不限。 郁闷啊,求各位大大帮忙。

2005本身占的系统资源肯定比2000要多。

但从系统内存,cpu那些来看,并没有多大压力啊

你要找一些证据, 说明同样的处理, 在2000上比2005跑得快, 这样才好分析具体原因. 一般来说, 应该是更快才能.

你可以用profile跟踪一下, 把执行时间太长的语句都抓出来做一些测试分析. 并不一定是升级造成的问题.

崩溃了,楼上的,你怎么那么多钻石啊???

呵呵,CSDN大版主。 80多万专家分了。

现在的问题是有一个存储过程,在2000上跑起来很快,在2005上动不动就超时。。。。 简单的select语句而已,晕啊

是不是锁的问题?

select的时候都加了with(nolock)的

把认为不可思议的语句帖出来看看. 另外, 看看执行计划, 不要是缺少了统计信息(这个可是正确使用索引的保障啊)

select top 20 * from Announce where boardid=5019 and rootidbak = 1237867 order by id desc 就这样的语句,在没有压力的情况下都要超时,晕

就这样的语句,在没有压力的情况下都要超时,晕

怎么建的索引?

boadid+rootidbak有索引的

profiler跟踪一下,看慢在那里,然后用数据库引擎优化顾问看看,应该升级之后效率会提高,但提高多少看具体的应用了!

索引建过看看

早就建了索引了

重建或修复索引

学习哈

关注

use yourdb go  --查找Query Plan的CPU相关统计 --总计耗费CPU时间最长的查询计划 SELECT TOP 5 total_worker_time, last_worker_time,   max_worker_time, min_worker_time,     SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,     ((CASE statement_end_offset          WHEN -1 THEN DATALENGTH(st.text)         ELSE qs.statement_end_offset END              - qs.statement_start_offset)/2) + 1) as statement_text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY total_worker_time DESC --单次执行耗费CPU时间最长的查询计划 SELECT TOP 5 total_worker_time, last_worker_time,   max_worker_time, min_worker_time,     SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,     ((CASE statement_end_offset          WHEN -1 THEN DATALENGTH(st.text)         ELSE qs.statement_end_offset END              - qs.statement_start_offset)/2) + 1) as statement_text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY max_worker_time DESC --利用次数最多的查询计划 SELECT TOP 5 creation_time, last_execution_time,      execution_count,      SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,     ((CASE statement_end_offset          WHEN -1 THEN DATALENGTH(st.text)         ELSE qs.statement_end_offset END              - qs.statement_start_offset)/2) + 1) as statement_text FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st ORDER BY execution_count DESC GO -查看有挂起IO的数据库或文件 --运行Tough Taks 01.sql和Tough Tasks 02.sql select database_id, file_id, io_stall, scheduler_address  from sys.dm_io_virtual_file_stats(NULL, NULL) t1,      sys.dm_io_pending_io_requests as t2 where t1.file_handle = t2.io_handle --寻找IO最频繁的5个查询 --其中的Query Plan可以到处为sqlplan文件 --USE AdventureWorksDW --SELECT * INOT dbo.TestProduct FROM dbo.DimProduct --DELETE FROM dbo.TestProduct select top 5 (total_logical_reads/execution_count) as avg_logical_reads,                    (total_logical_writes/execution_count) as avg_logical_writes,       (total_physical_reads/execution_count) as avg_physical_reads,       Execution_count, statement_start_offset, p.query_plan, q.text from sys.dm_exec_query_stats  cross apply sys.dm_exec_query_plan(plan_handle) p  cross apply sys.dm_exec_sql_text(plan_handle) as q order by (total_logical_reads + total_logical_writes)/execution_count Desc

资源占多了,自然就慢了点

加紧学习了

多谢各位了

上一篇:求:sqlserver中时间戳(timestamp)的比较方法? 10dengtl]
下一篇:請問,SQL2005 Express是否支持ReportingServices? 20tom385]

相关文章

相关评论