执行次数最多的sql语句

SELECT * FROM
(
    SELECT top 1000 creation_time  N‘语句编译时间‘
            ,last_execution_time  N‘上次执行时间‘
            ,execution_count/datediff(mi,creation_time,getdate()) as ‘平均每分钟执行次数‘
            ,execution_count,datediff(mi,creation_time,getdate()) as ‘编译以来分钟数‘
            ,total_physical_reads N‘物理读取总次数‘
            ,total_logical_reads/execution_count N‘每次逻辑读次数‘
            ,total_logical_reads  N‘逻辑读取总次数‘
            ,total_logical_writes N‘逻辑写入总次数‘
            ,execution_count  N‘执行次数‘
            ,total_worker_time/1000 N‘所用的CPU总时间ms‘
            ,total_elapsed_time/1000  N‘总花费时间ms‘
            ,(total_elapsed_time / execution_count)/1000  N‘平均时间ms‘
            ,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) N‘执行语句‘
    FROM sys.dm_exec_query_stats AS qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
    where 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) not like ‘%fetch%‘
                --and qs.execution_count>100 and
               -- (total_elapsed_time / execution_count)/1000>150
    --ORDER BY  ‘count/minute‘ DESC;
    ORDER BY   execution_count DESC
)
t ORDER BY ‘平均每分钟执行次数‘ desc
时间: 2024-11-06 04:42:18

执行次数最多的sql语句的相关文章

db2 优化基础 查询执行次数最多的SQL

使用如下语句查找执行次数最多SQL db2 select * from sysibmadm.SNAPDYN_SQL order by NUM_EXECUTIONS desc,TOTAL_SYS_CPU_TIME_MS desc fetch first 205 rows only >>d:\num_executions.txt 打开输出的文件显示如下: 根据执行次数判断是否有问题.如果发现执行次数明显偏多,就应该看看是否程序中有问题.一般来说基础数据的表查询次数会比较多,如果不是,建议查看程序,

Mysql 定位执行效率低的sql 语句

一.通过MySQL慢查询日志定位执行效率低的SQL语句. MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL . 1.通过命令: show variables like '%query%'  查看是否开启慢查询日志. 开启前 开启后 slow_query_log :   on

怎么查找执行比较慢的sql语句-DBA给的建议

1.使用sql动态视图 如下: select top 10 b.text,a.total_worker_time,a.total_logical_reads,a.total_elapsed_time,execution_count from sys.dm_exec_query_stats a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) as b order by total_worker_time/execution_count desc 查看联

原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集

需求: 1.直接执行前端传来的任何sql语句,parameterType="String", 2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回具体的bean类型,因此设置resultType="java.util.Map",但是Map并不保证存入取出顺序一致, 因此设置resultType="java.util.LinkedHashMap",为保证查询的字段值有序(存入与取出顺序一致)所以采用LinkedHa

python连接SQLServer数据库,执行给定的查询SQL语句,并返回查询结果数据

import sys import pymssql reload(sys) sys.setdefaultencoding("utf-8") #数据库连接配置 config_dict={ 'user':'sa', 'password':'', 'host':'127.0.0.1', 'database':'pawn2007' } def SQLServer_connect(config_dict): ''' SQLServer 数据库连接 ''' connect=pymssql.conn

执行Django原生的sql语句

Django中能用ORM的就用它ORM吧,不建议执行原生SQL,可能会有一些安全问题, 如果实在是SQL太复杂ORM实现不了,那就看看下边执行原生SQL的方法,跟直接使用pymysql基本一致了 from  django.db  import connection with connection.cursor() as cursor cursor.excute('select * from accounts_User') row = cursor.fetchall() return row 原文

一条执行4秒的sql语句导致的系统问题 (转)

为了一看究竟,抓取了一个awr报告.发现系统的负载情况确实很严重,每秒的redo有1.6M,可见系统的负载不是主要在select上,可能有一些dml之类的操作极为频繁. 看了下等待事件.都是关于lock的.这个时候就有些纳闷了.到底什么样的操作会导致严重的锁等待. Top 5 Timed Foreground Events 这个时候怎么解释执行计划效率很高,但是执行时间却很长的问题.第一个猜想就是系统的负载加大了,可能查取数据的时候就慢了.但是反过来说,也不会慢这么高的比例啊.所以这种猜想不成立

mybatis 执行传入的任意sql语句

dao类 /** * 自定义sql查询 * @param sqlContent * @return */ public List<LinkedHashMap<String, Object>> customQueryItem(String sqlContent); mapper.xml <select id="customQueryItem" parameterType="String" resultType="java.uti

6.让ORM映射执行的时候打印SQL语句

配置Django日志:\hello_django\hello_django\settings.py 文件中的 LOGGING 加入如下配置: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': {