none
我的sql数据库执行select语句有时快有时慢。不知道什么问题?是表索引导致的?还是其他任务导致的?请问怎么查。出问题时不光这个语句其他语句也都慢。 RRS feed

  • 问题

  • 我的sql数据库执行select语句有时快有时慢。不知道什么问题?是表索引导致的?还是其他任务导致的?请问怎么查。出问题时不光这个语句其他语句也都慢。
    非常感谢您的帮忙
    2011年10月19日 0:06

答案

  • 你监控下慢的时候的服务器的负载,是否比其他时间都高.另外,再看下perfmon中的计数器,看下是否正常.

    建议在不慢的时候,监控那些计数器,建立一个性能baseline.这样在慢的时候,就可以进行比较.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    • 已标记为答案 sony00832 2011年10月19日 16:31
    2011年10月19日 0:33

全部回复

  • 你监控下慢的时候的服务器的负载,是否比其他时间都高.另外,再看下perfmon中的计数器,看下是否正常.

    建议在不慢的时候,监控那些计数器,建立一个性能baseline.这样在慢的时候,就可以进行比较.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    • 已标记为答案 sony00832 2011年10月19日 16:31
    2011年10月19日 0:33
  • 还有其他建议吗? 


    非常感谢您的帮忙
    2011年10月19日 15:51
  • 没有看到异常 cpu内存硬盘io都没发现显著异常。

    同样的库和语句在其他服务器上没有问题。 部署的业务系统一样,访问量也一样。

    是不是有可能是索引问题?


    非常感谢您的帮忙
    • 已编辑 sony00832 2011年10月19日 16:32
    2011年10月19日 16:20
  • 没有看到异常 cpu内存硬盘io都没发现显著异常。

    同样的库和语句在其他服务器上没有问题。 部署的业务系统一样,访问量也一样。

    是不是有可能是索引问题?


    非常感谢您的帮忙

    你确定慢的时候和快的时候执行的sql都差不多吗?

    因为如果是索引的问题的话,不应该是时而快时而慢....

    或者你看下快得时候和慢的时候相同SQL的执行计划是否一样?


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    • 已编辑 Wison-Ho 2011年10月20日 0:31
    2011年10月20日 0:30
  • 在sysprocesses 视图里查看 慢的语句的lastwaittype 看是什么?

    select a.spid,b.text,a.lastwaittype from master..sysprocesses a
    outer apply sys.dm_exec_sql_text(a.sql_handle) b
    where spid   > 50 

    text列是执行的sql内容,可以进行筛选

    • 已编辑 zhanggq 2011年10月20日 9:49
    2011年10月20日 1:47
  • 我确定慢的时候和快的时候执行的sql是一样的。

    我会看一下你确定慢的时候和快的时候执行的sql都差不多吗?  稍后发上来


    非常感谢您的帮忙
    2011年10月22日 1:07