1、对一个库中的数据执行存储过程需要10分钟;
2、在另外一台机器上创建相同的库、表;把问题机器上库表中的数据全部用SQL语句插于到该机器上,执行,只需要5秒;
3、而如果把第一个机器的库使用SQL的备份整个库备份并恢复到其他机器,问题同样存在。怀疑:
1、应该说数据本身没有问题;
2、难道是数据库的设置问题?该存储过程对视图+多个表进行联合操作,并且使用了事务处理。请大侠出手,谢谢!!

解决方案 »

  1.   

    sql server profiler 跟踪下是哪条sql过于耗时.
      

  2.   

    跟踪下,看是哪条SQL语句耗时太多。
    我这也遇到过同样的问题,最后我发现,是视图引起的速度过慢,你可以把视图全部改写为临时表,速度会大大提高,修改量也不会很大。
      

  3.   

    sp_who active  --看看哪个引起的阻塞,blk
    sp_lock  --看看锁住了那个资源id,objid ,select object_name(objid) 得到
    dbcc inputbuffer(@blk) -- 看看是那个语句
      

  4.   

    确实是视图+多个表的联合查询导致的。
    但是,我使用同样的库、表结构,使用SQL语句插入到另外的机器上,执行只要5秒;
    而整个库进行备份、恢复就不行。