查询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
Run Code Online (Sandbox Code Playgroud)
Query2:占用最大physical_reads的前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
Run Code Online (Sandbox Code Playgroud)
取自本文
在MySQL中,您需要从日志文件中捕获此信息,而不是通过查询.有人可能会告诉你一个查询是可能的,但它们对你不公平.看到:
http://dev.mysql.com/doc/refman/5.1/en/log-tables.html "目前,记录到表格会导致比登录文件更多的服务器开销."
..足够重要,如果你问这个问题,你不想使用它.
所以现在你的问题变成"你如何用日志文件做到这一点?".查询的物理读取次数未记录在stock-MySQL版本中.它虽然可以在Percona Server中使用.增强很棒(即使我有偏见,我为Percona工作):
http://www.percona.com/docs/wiki/patches:slow_extended
下一个问题是如何聚合日志,以便您可以找到这些详细信息.为此,我建议使用mk-query-digest. http://www.maatkit.org/doc/mk-query-digest.html.
归档时间: |
|
查看次数: |
4320 次 |
最近记录: |