MySQL发送数据性能

标签 mysql

我有一个查询在开发机器上运行需要 600 毫秒,但在生产机器上需要 62 秒才能执行。但是当我再次在生产机器上重新执行这个查询时,它需要 700 毫秒。所以有一件奇怪的事情让查询有时需要时间。是发送数据或 IO 问题或加载问题。我正在使用 Mysql 和 UNIX Opensuse。我需要一个工具来捕获这个问题或者如果有人知道如何捕获它或者它发生在他之前.10x

最佳答案

缓存可以解释为什么第一次运行查询需要 62 秒然后第二次运行需要 700 毫秒。

如果您想在查询运行时查看 mysql 在做什么,请尝试运行 FLUSH QUERY CACHE 或 FLUSH TABLES 来清除缓存,然后运行查询,并在单独的 session 中运行“show processlist”几次您的查询正在运行。 “状态”将向您展示 MySQL 正在做什么。

您还可以使用“EXPLAIN”来分析您的查询。在 google 上快速搜索“mysql explain”会出现许多网站,解释“EXPLAIN”的作用以及如何使用它来优化您的查询或索引。如果在那之后您仍然遇到问题,请在此处发布带有索引定义的相关表定义、您的查询和 EXPLAIN 的输出。

至于开发环境和生产环境之间的性能差异...您的两个环境有什么不同吗?也许不同的 mysql 配置或系统配置?

关于MySQL发送数据性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8093234/

相关文章:

mysql - 自己做MySQL行复制的问题

php - 将另一个数据库连接添加到我的查询导致一些行看不到

mysql - 尝试描述我的 table ,但它说不存在该 table ,但它确实存在

mysql - SQL 查询按发布日期或评论日期对帖子进行排序

php - 连接 table1.id 等于 table2.table1_id 的两个表,但仅显示 table1.id 中无法在 table2.table1_id 中找到的行

php - 用户输入值 sql 的日期之间

php - 用户/管理员登录表单 Php、MySQL

php - 如何使用带事务的 php 插入到两个表中?

php - 单篇文章的多个类别(PHP MYSQL)

mysql - 找出出现次数最多的时期