none
在 windows 2008 上装的 sql server 2008 写入数据库很慢,原因如果查找 RRS feed

  • 问题

  •  

    在 windows 2008 上装的 sql server 2008 写入数据库很慢,但查询数据不慢,原因如果查找,请提供一些建议

    打开 SET STATISTICS IO ON  测试 执行时间

    插入10000条数据 SQL Server 执行时间:
       CPU 时间 = 2199 毫秒,占用时间 = 125374 毫秒。

    查询10000条数据 SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 387 毫秒。

    能说明是数据库有问题吗,怎么测试是不是数据库的问题

    2011年9月13日 6:15

答案

  • 监控下Avg. Disk sec/Write,查看是否大于0.03.
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年9月13日 7:56
  •  

    select b.text '语句或存储过程',object_name(b.objectid),a.lastwaittype '等待类型',a.status,* from master..sysprocesses a
    outer apply sys.dm_exec_sql_text(a.sql_handle) b 

    --where 这里把你的插入语句筛选出来
    order by cpu desc 

     

     

     

    2011年9月14日 9:08

全部回复

  • 监控下Avg. Disk sec/Write,查看是否大于0.03.
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年9月13日 7:56
  • 看看数据磁盘的队列是否很高(性能计数器);

    在插入的时候,查看等待类型 是什么 (master..sysprocesses  where spid >50)

    等待类型: LCK_M_%  锁等待(阻塞)

                  pageIolacth%  磁盘等待

               

    2011年9月13日 9:07
  •  

    在 windows 2008 上装的 sql server 2008 写入数据库很慢,但查询数据不慢,原因如果查找,请提供一些建议

    打开 SET STATISTICS IO ON  测试 执行时间

    插入10000条数据 SQL Server 执行时间:
       CPU 时间 = 2199 毫秒,占用时间 = 125374 毫秒。

    查询10000条数据 SQL Server 执行时间:
       CPU 时间 = 0 毫秒,占用时间 = 387 毫秒。

    能说明是数据库有问题吗,怎么测试是不是数据库的问题

    How many rows you inserted? What's table schema? What's insert statement?
    2011年9月13日 13:08
  •  

    谢谢您的回复,但是要如何查看等待类型,不太明白要怎么查

    2011年9月14日 8:27
  •  

    select b.text '语句或存储过程',object_name(b.objectid),a.lastwaittype '等待类型',a.status,* from master..sysprocesses a
    outer apply sys.dm_exec_sql_text(a.sql_handle) b 

    --where 这里把你的插入语句筛选出来
    order by cpu desc 

     

     

     

    2011年9月14日 9:08