• SQL性能优化常用语句(摘录网上)


    1.把trace文件导入到表中

    SELECT IDENTITY(BIGINT, 1, 1) AS RowNumber,* 
    into TableName
    FROM fn_trace_gettable('trace.trc', default)

    2.查询CPU开销大的语句

    SELECT top 100
        total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
        execution_count,
        (SELECT SUBSTRING(text, statement_start_offset/2 + 1,
           (CASE WHEN statement_end_offset = -1
              THEN LEN(CONVERT(nvarchar(max), text)) * 2
              ELSE statement_end_offset
           END - statement_start_offset)/2)
        FROM sys.dm_exec_sql_text(sql_handle)
        ) AS query_text,creation_time
     FROM sys.dm_exec_query_stats
     where creation_time > '2014-11-01'
    and (total_worker_time/execution_count) > 146341
    ORDER BY [avg_cpu_cost] DESC

    3.查询阻塞

    SELECT a.* FROM sys.[sysprocesses] a
    WHERE a.[spid]>50 AND DB_NAME(a.[dbid])='DBName' and a.spid <> @@SPID and a.blocked > 0

    4.查询连接数

    SELECT COUNT(*) FROM [sys].[dm_exec_sessions] WHERE [session_id]>50

    5.存储过程物理读

    SELECT TOP (50) p.[name] AS [SP Name]
        ,qs.total_physical_reads AS [TotalPhysicalReads]
        ,qs.total_physical_reads / qs.execution_count AS [AvgPhysicalReads]
        ,qs.execution_count
        ,qs.total_logical_reads
        ,qs.total_elapsed_time
        ,qs.total_elapsed_time / qs.execution_count AS [avg_elapsed_time]
        ,qs.cached_time
    FROM sys.procedures AS p
    INNER JOIN sys.dm_exec_procedure_stats AS qs ON p.[object_id] = qs.[object_id]
    WHERE qs.database_id = DB_ID()
        AND qs.total_physical_reads > 0
    ORDER BY qs.total_physical_reads DESC
  • 相关阅读:
    Docker安装以及运行第一个HelloWorld
    logstash-配置文件详解
    oh my zsh 常用插件
    Linux之Shell基本命令
    Linux的基本命令
    Vue
    rest_framwork之认证组件,权限组件,频率组件
    rest_framwork之序列化组件
    rest_framwork之APIView
    中间件
  • 原文地址:https://www.cnblogs.com/xqhppt/p/4067804.html
Copyright © 2020-2023  润新知