我们使用数据库的时候,一般会用一个自增的 id 作为 primary key,这样操作方便,同时也能满足所有 orm 系统的要求。

但是数据库做分表之后,没法使用简单的 auto_increment  id 来做 primary key,为了维持 id 在多个物理分表上的全局唯一,我们需要一种替代 auto_increment 方式的统一  id 生成方法。 所有的 id 都统一从这里生成,确保不同分表的 id 是全局唯一的。只要保证了不同物理分表的 id 是全局唯一的,我们就能很容易的在不同分表之间迁移数据,而不同担心 id 冲突。

这里我们采用 存储过程来为所有的表统一生成  id ,结构如下:

存储过程的调用,直接用于生成表id

 

 

 

转载请注明:棒主妇开源,bzfshop » Yii 数据库分表, id 统一生成方法

相关文章

我来说说

发表评论您必须先登录