MySQL 的 Innodb引擎是因为使用了B+树,如果用UUID作为主键,很有可能频繁的导致页分裂影响插入性能。那么OB会有同样的问题吗?OB底层貌似是用的LSM
应该不会吧
虽然索引是用到B+树,但是已经是主键,应该不会再给建索引。所以应该是不会
LSM Tree的架构中,MEMtable是用Btree的方式组织表(主键)和索引的数据,主键有序。如果使用UUID作为主键,是无序的,在insert、update时,内存中的宏块、微块也会频繁的页分裂, 而有序的sequence作为主键属于顺序写,性能比UUID作为主键要好。 只不过OB的增删改都在内存,只有转储或合并才落盘,mysql的增删改会持续落盘,所以UUID作为主键对mysql影响更明显。
1 个赞
会存在。不知道为啥ob不参考mongodb objectid的生成方式