【问题标题】:Calculating the execution time of a Mysql Query based on the number of records根据记录数计算Mysql Query的执行时间
【发布时间】:2012-05-22 12:53:39
【问题描述】:

在执行查询之前,我有什么方法可以计算一组 Mysql 查询执行所需的时间,可能基于记录数或其他什么?

【问题讨论】:

  • 可能不准确。这取决于表中的数据量、正在检索的记录数、表上的索引、延迟等。

标签: mysql execution-time


【解决方案1】:

没有。影响查询执行时间的因素有很多,包括:

  • 硬件规格
  • 网络配置、带宽和负载
  • MySQL 服务器配置和服务器负载
  • MySQL 索引使用和执行计划
  • 数据大小
  • 索引大小
  • 结果集的大小

确定查询需要多长时间的最佳方法是运行它。您应该使用SQL_NO_CACHE 禁用查询缓存,以便查询缓存不会影响结果。

使用 SHOW PROFILE 查看 MySQL 将时间花在哪里。

使用EXPLAIN查看执行计划,以便优化执行计划。

使用 EXPLAIN,您可以了解查询是否有效,但您仍需要运行它以查看在您的环境中需要多长时间。

【讨论】:

  • 我总是测量相对速度。如果您有一个只需要一秒钟的优化查询,那么这可能是一个很好的基准。它确实可以扩展。您必须扫描的行越多或必须返回的行越多,它就会越慢,反之亦然,但我同意 Ami 的观点,您只需运行它即可查看。使用 EXPLAIN 查看行数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 2015-04-26
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 2019-07-16
相关资源
最近更新 更多