分表分库——主键生成策略

在很多小项目中,我们往往直接使用数据库自增特性来生成主键ID,这样确实比较简单。而在分库分表的环境下,数据分布在不同的数据表中,不能再借助数据库自增特性直接生成,否则会造成不同数据表主键重复。下面介绍集中ID生成算法。

UUID

UUID是通用唯一标识码(Universally Unique Identifier)的缩写,长度是16个字节,被表示为32个十六进制数字,以‘-’分隔的五组来显示,格式为8-4-4-4-12,共36个字符,例如:be277cf0-9fed-433e-b958-eb82e8c0f142。UUID在在生成时使用到了以太网地址、纳秒级时间、芯片ID和随机数等信息,目的是让分布式系统中的所有元素都能有唯一的标示信息。

使用UUID作主键,可以在本地生成,没有网络消耗,所以性能非常高。但是UUID比较长,没有规律性,消耗存储空间。

All indexes other thantheclustered index are known as secondary indexes.In innoDB,each record in secondary index contains the primary key columns for the row, as the columns specified for the secondary index.InnoDB uses this primary key value to search for the row in the clustered index.If the primary key is long,the secondary indexes use more space,so it is advantageous to have a short primary key.

除聚集索引意外的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值