如果更改 innoDB 压缩级别会发生什么

What happens if you change innoDB compression level

目前有几个 ROW_FORMAT=COMPRESSED 的表,它们的大小都至少为 200 GB,我想知道我是否可以将当前默认 (6) 的 innodb_compression_level 更改为 3。会发生什么与当前行?这只会影响新的和更新的行吗?

其背后的动机是,对于某些表,我们在插入速度(数据仓库表)方面面临相当多的问题,并且在研究所有指标时,很明显 CPU 已达到其极限(如它都在 1 个核心上运行)所以我们希望通过降低压缩级别

来减轻 cpu 的负担

好的。我已经找到了答案。压缩级别越高,插入时需要的 CPU 越多。由于我们仅使用 1 个线程(1 个显式事务),CPU 当然需要做更多的工作,因此压缩对插入速度有直接的负面影响。

好处是:您可以更改设置,它只会影响新数据(数据页),因此对我们来说,通过将设置 innodb_compression_level 更改为 3 来改进它,所有新插入现在都更快。