为了比较MySQL 5.7和8.0,我使用sysbench创建了一个表.我试过了这个测试.服务器的性能完全相同因此,oltp_point_select显示出几乎相似的性能.
但是,当通过下面的测试进行组时,MySQL 8.0的性能提高了10倍.但我不知道为什么它很快.
我不知道是否可以找到MySQL 8.0发行说明.在8.0,谁会告诉我为什么分组更快?
0.表架构
CREATE TABLE `sbtest2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`k` int(11) NOT NULL DEFAULT '0',
`c` char(120) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`pad` char(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `k_2` (`k`),
KEY `idx1` (`k`,`pad`)
) ENGINE=InnoDB AUTO_INCREMENT=1099289 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)
1. MySQL 5.7 服务器版本:5.7.17-log源代码分发
5.7结果
testdb 17:24:38 > select count(0),pad from sbtest2 where k between 400000 and 600000 group by pad limit 1;
+----------+-------------------------------------------------------------+
| count(0) | …Run Code Online (Sandbox Code Playgroud)