我听说 mysql 5.5 与 5.0 相比有显著的性能提升
我们的服务器处理大量数据(每 5-10 秒处理约 3000 万条记录),需要我们尽可能地提高性能。如果我们从 5.0.23 升级到 mysql 5.5,会不会有好处?
此外,我们在表上设置了许多数据库索引,有人告诉我,版本升级后索引有时会损坏,必须重建。这是真的吗?
答案1
MySQL 的答案始终是“视情况而定”。话虽如此,但 5.5 版本将为 16 核及更高核的机器带来巨大改进。如果您使用 InnoDB 存储引擎,那么您也很有可能获得更好的性能。找出答案的最佳方法是获取一个测试机并通过系统性能测试来运行它。
就升级而言,最安全的升级方式往往是转储并重新加载。它可以消除大多数可能出现的问题。我仅使用 mysql_upgrade 就成功地从 5.0 升级到了 5.1。我不知道升级到 5.5 后索引是否会受到任何特定问题的影响。(虽然我还没有将我们的任何生产设备升级到 5.5。测试设备没有出现问题。)如果您确实选择不进行转储/恢复的升级方式,请务必阅读网站上的文档。5.5 的行为与从 5.0 升级到 5.1 的行为不同。
答案2
5.0.x 的性能实际上有非常显著的提升。无论数字计划是否升级到 5.5,我建议尽快升级到 5.0.92(当前最新的 5.0 版本)。任何低于 5.0.37 的版本都存在一些严重的性能问题,直到 5.0.52 左右 5.0 才真正开始运行。
答案3
从 mysql 5.0.x 到 5.5.x,性能有了巨大提升。查看这些基准测试http://vbtechsupport.com/606/和http://vbtechsupport.com/657/。大部分焦点都集中在 InnoDB 存储引擎性能上。如果您仍在使用 MyISAM 存储引擎,请查看 MariaDB 5.2.5 及更高版本,因为它是唯一一款真正实现了 MyISAM/核心性能改进的 MySQL 性能分支替代方案。
答案4
您可以期待我目前正在使用的 MySQL 5.5 中的新功能,这些功能值得您升级
多个 InnoDB 缓冲池
我发现最多可以有 64 个 innodb 缓冲池。
目前,我正在使用一台具有 192G RAM 的服务器,
我有 50 个 innodb 缓冲池,每个缓冲池有 3G
半同步复制
当主二进制日志中的条目发送到从属服务器时,将执行查询,然后从属服务器读取下一个 SQL 语句。在半同步回复下,服务器确认收到 SQL,而不是等到查询完成。
您还可以调整读写 IO 容量来控制每个操作专用的线程数量。