看 uber 集群升级 8.0 ,讲的都是性能提升,但自己本地对比了下,发现查询时间还更慢了。。。
测试方法:

分别安装好 5.7 跟 8.0 到本地的电脑
将线上 a 表、b 表、ab 关联表下载导入到两个数据库,buffer pool 调整为 1G
select * from a left join ab on a.id=b.aid left join b on ab.bid=b.id where ... limit 10;

结果是:5.7 是 1.2s 左右,8.0 是 1.4s 左右
uber blog:
www.uber.com/en-JO/blog/upgrading-ubers-mysql-fleet/

哈哈 信你还是信 uber 。 (开个玩笑。)

建议自己动手

忘记是在哪看到的, 不保真. 说是后续更新版本为了程序健壮稳定牺牲了部分性能来着?

目前刚升级 8.4 lts, innodb cluster 十七个节点的集群 性能非常理想就是他这个坑爹的 mysql router 问题很多

我也看过,压测结果是 MySQL 版本更高,性能反而更差了。

但我记得好像说的是 8 以后的版本,5.7 到 8 性能应该还是变好的。但是也不绝对,8 相比 5.7 又加了一堆新东西,拖慢速度也有可能

新硬件肯定高版本好,老硬件就不一定了

上午才把 8 降到 5.7 ,老旧 java springboot 要更新 jdbc 包才能连 8 ,想想还是降 mysql 版本

特性更多了,性能基本上不可能更好的。。除非是重构了原有的

能升级尽量升级,或者换 PG ,aws 已经不支持 5 了,早晚都得上 8

emmm,升级一个 mysql 要写这么长的博客啊。那我给我们 team 整了 github workflow+laravel harbor 实现 forge 的 preiview site ,我不得写一千字起步!

它还把 query cache 移除了,我就不升级。

不升级挺好的,要不是漏扫过不去,才懒得升级。

5.7 到 8 性能应该还是变好的

你的测试客观吗。。。 系统负载能控制吗是否进行了多次测试取平均值是否预热了 buffer pool

  1. vagrant+ubuntu ,5.7 跟 8.0 轮流启动,只是简单的 select 查询,也没运行其他软件2. 这个结果正式多次测试过的3. buffer pool 我也说了,调整到 1GB ,不然,查询要>40s ,同时,没有使用到 query cache

就凭借 online ddl,ALGORITHM=instant 我就回不去了。。那点性能,随便一个慢 SQL 就不止了。

老机器老版本 新机器新版本另外 不妨查查看 uber 或者类似公司测试时的机器配置我猜 你测试的机器肯定远不如 uber 用的,而你也应该在贴出结论的同时贴上你测试所用实例的配置

之后升级成国产又变回 5.x

别的不说 就说高版本 那个对密码的复杂程度的强制要求 好烦