uuid导致的MySQL性能问题

uuid无序导致Inoodb页分裂和随机IO

uuid是无序的,当uuid可能在索引中的某一页插入数据时,新增记录所在的数据页已满,数据库需要申请一个新的数据页存储数据,这种现象被称为“页分裂”

页分裂确保后一个数据页中的所有id值一定比数据页中的id值大,在大并发环境下增加了磁盘IO的压力(随机访问),无序才是罪魁祸首。

解决办法:改为有序的数字主键生成策略就可以了。如美团的Leaf/推特的Snowflake算法

随机IO:数据在磁盘分布不均匀,导致访问数据的时候,磁盘磁尖要多转几圈才能访问得到数据。

Licensed under CC BY-NC-SA 4.0
Last updated on Mar 23, 2024 06:11 UTC
让过去的过去,给时间点时间
Built with Hugo
Theme Stack designed by Jimmy