MySQL SQL查询分析和查询成本工具和技术

时间:2008-12-03 08:24:14

标签: mysql profiling

使用Microsoft SQL Server我发现了非常有用的SQL Server Profiler和Estimated Execution Plan(可在Management Studio中使用),以便在开发和生产系统监控期间优化查询。

MySQL是否有类似的工具(开源或商业)或技术?

3 个答案:

答案 0 :(得分:3)

您可以使用EXPLAIN获取有关查询执行方式的信息。

例如:

EXPLAIN SELECT * FROM foo INNER JOIN bar WHERE foo.index = 1 AND bar.foo_id = foo.id

然后它将告诉您将使用哪些索引,表将加入的顺序,它希望从每个表中选择的行数等等。

答案 1 :(得分:2)

正如RoBorg建议的那样,您可以使用EXPLAIN来显示MySQL将如何执行查询的详细信息。我发现this article更有用,因为它告诉您如何解释结果并改进SQL。

query cache configurationusing ALTER TABLE上的这些文章也有助于添加和删除索引。

答案 2 :(得分:0)

您也可以查看http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Last_query_cost。这将有助于在CPU周期或表扫描方面了解查询是否更好。

SHOW STATUS LIKE 'Last_query_cost';