分布式数据库系统中如何实现主键唯一自增

分布式数据库系统中如何实现主键唯一自增,第1张

4台数据库,第一台mysql主键从1开始每次加4,第二台从2开始每次加4,以此类推。。2、搭建sequence server2.1、选用N台mysql作为sequence server,防止单点故障。2.2、每个server上的每张表都代表一个序列,每张表也只有一条记录(表级锁,选用myisam引擎)。2.3、第一台server的序列从1开始每次加N,第二台从2开始每次加N。2.4、获取时先从第一台server上获取nextVal并修改nextVal加N,如果第一台Server获取失败,则从第二台Server上获取。。

主键是一个索引,mysql的索引是B+树,Mysql会按照键值的大小进行顺序存放,如果我们设置自增id为主键,这个时候主键是按照一种紧凑的接近顺序写入的方式进行存储数据。如果我们用其他字段作为主键的话,此时Mysql不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多额外的开销,同时频繁的移动、分页 *** 作造成了大量的碎片。

- 考虑性能消耗

- 考虑资源消耗

- 考虑分库分表


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7268526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存