首页 > 解决方案 > 是否值得在 Mysql 上启用统计信息

问题描述

在 PhpMyAdmin 的“数据库”选项卡下有一个名为“启用统计信息”的链接。

  1. 在哪些情况下启用统计信息可以提高或降低服务器性能(CPU/RAM/IO/执行时间)
  2. 在哪些情况下启用统计信息可能会提供错误的结果

谢谢你。

标签: mysqldatabaseperformancephpmyadminstatistics

解决方案


目前还不太清楚你到底在问什么,但我会试一试。

那里可以显示的统计数据需要额外的服务器处理时间来计算。我刚刚做了两次快速测试,一台服务器存储了 400 个表和 400 万行;另一个有 47GB 的数据,共 300 个表。两者的加载速度几乎与页面正常加载的速度一样快,两种情况下的延迟都只有几分之一秒。

此设置不是持久的,它仅在活动显示期间加载附加统计信息,并且数据库选项卡在下次查看时返回标准显示。

选择启用这些统计信息会为每个数据库和整个数据库服务器的总数提供附加信息。

表数、行数、数据量、索引量(索引?)、存储的总数据和开销是显示的附加列。

在哪些情况下启用统计信息可以提高或降低服务器性能

收集额外的统计数据永远不会提高服务器性能。如果您有大量数据,或者我猜这里的负载如此之大,以至于表无法锁定足够长的时间来计算统计信息,它会减少。

在哪些情况下启用统计信息可能会提供错误的结果

我不认为这是在这里警告或可能发生的事情。计算数据使用量的方式可能会不一致,尤其是在涉及开销或数据库有许多已删除记录时,因为即使删除行后 MySQL 在磁盘上使用的大小也不会自动减少。这可能导致 MySQL 显示较小的数据库大小但仍使用大量磁盘空间,但这不会通过 phpMyAdmin 显示为错误结果。除此之外,我不确定你在问什么关于错误结果的问题,如果我回答得不够好,也许你想澄清一下。


推荐阅读