查询1:需要最多时间的前10个代码
select top 10 source_code, stats.total_elapsed_time/1000000 as seconds, last_execution_time from sys.dm_exec_query_stats as stats cross apply(SELECT text as source_code FROM sys.dm_exec_sql_text(sql_handle)) AS query_text order by total_elapsed_time desc
Query2:占用最大物理读取次数的前10个代码
select top 10 source_code, stats.total_elapsed_time/1000000 as seconds, last_execution_time from sys.dm_exec_query_stats as stats cross apply(SELECT text as source_code FROM sys.dm_exec_sql_text(sql_handle)) AS query_text order by total_physical_reads desc
在MySQL中,您需要从日志文件而不是通过查询捕获此信息。可能有人会告诉您一个查询是可能的,但是这对您不公平。看:
“ http://dev.mysql.com/doc/refman/5.1/en/log-tables.html ”当前,登录到表比登录到文件要花费更多的服务器开销。
..足够重要,如果您要问这个问题,就不想使用它。
因此,现在您的问题变成“如何使用日志文件执行此操作?”。股票的MySQL版本中未记录查询的物理读取次数。不过,它在Percona Server中可用。