首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CockroachDB无序行ID

CockroachDB无序行ID
EN

Stack Overflow用户
提问于 2022-06-30 20:02:09
回答 1查看 67关注 0票数 1

为什么CockroachDB要在我的表中添加一个rowid列?它们是INT值,没有排序,本专栏是否放弃排序顺序和/或影响范围扫描的工作方式?

EN

回答 1

Stack Overflow用户

发布于 2022-06-30 20:15:38

如果没有为表指定主键,CockroachDB会自动添加作为主键的rowid列。rowid值是作为insert时间戳和执行语句的节点ID的组合而生成的,因此,保持排序。

要创建自己的rowid,通常使用两个函数:

  • unique_rowid():确保主键的唯一整数,值总是增加
  • unordered_unique_rowid():确保主键的唯一整数,但是rowid值会使而不是增加。拥有不总是增加的rowid值有助于更均匀地划分密钥空间,防止范围热点。

来自CockroachDB的有用文档:

创建一个表

自动生成唯一的行ids

ID生成函数

有帮助的博客文章:

CockroachDB密钥生成第3部分-无序RowID

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72821409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档