什么是在MySQL中的等效查询?
查询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:采用最大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
取自这篇文章
在MySQL中,您需要从日志文件中捕获此信息,而不是通过查询。 有人可能会告诉你一个查询是可能的,但他们对你不公平。 看到:
http://dev.mysql.com/doc/refman/5.1/en/log-tables.html“目前,登录表格比登录文件带来更多的服务器开销。”
..足够重要的,如果你问这个问题,你不想使用它。
所以现在你的问题变成了“你怎么用日志文件做这件事?”。 查询的物理读取数量不记录在股票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。
SELECT TOP 10 ...是MySQL中的SELECT ... LIMIT 10。 如果您询问的CROSS APPLY与INNER JOIN没有太大区别,请参阅何时应使用交叉应用通过内部联接?
你看过关于ServerFault的这个问答吗?
我如何配置MySQL?
链接地址: http://www.djcxy.com/p/86217.html上一篇: what is the equivalent query in mysql?
下一篇: CROSS APPLY with table valued function restriction performance