MySQL SQL 查询分析和查询成本工具和技术
在使用 Microsoft SQL Server 时,我发现 SQL Server Profiler 和估计执行计划(在 Management Studio 中可用)非常有用,可以在开发和生产系统监控期间优化查询。
MySQL 是否有类似的工具(开源或商业)或技术?
Working with Microsoft SQL Server I found extremely useful SQL Server Profiler and Estimated Execution Plan (available in Management Studio) to optimize queries during development and production system monitoring.
Are there similar tools (open source or commercial) or techniques available for MySQL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
EXPLAIN< 获取有关查询如何执行的信息/代码>
。
例如:
然后它会告诉您将使用哪些索引、表的连接顺序、期望从每个表中选择多少行等等。
You can get information about how a query will execute using
EXPLAIN
.For example:
It will then tell you which indexes will be used, what order the tables will be joined in, how many rows it expects to select from each table and so on.
正如 RoBorg 所建议的,您可以使用 EXPLAIN 来显示 MySQL 将如何执行查询的详细信息。 我发现这篇文章更有用,因为它告诉我您如何解释结果并改进您的 SQL。
这些关于查询缓存配置 和 使用 ALTER TABLE 添加和删除索引。
As RoBorg suggests, you can use EXPLAIN to show the details of how MySQL will execute your query. I found this article more useful, as it tells you how to interpret the results and improve your SQL.
Also helpful are these articles on query cache configuration and using ALTER TABLE to add and remove indexes.
您可以查看 http://dev .mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Last_query_cost 也是如此。 这将有助于了解查询在 CPU 周期或表扫描方面是否更好。
You can have a look at http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Last_query_cost too. This will help knowing if the query is better or not, in terms of CPU cycles or table scans.