为什么CockroachDB要在我的表中添加一个rowid列?它们是INT值,没有排序,本专栏是否放弃排序顺序和/或影响范围扫描的工作方式?
发布于 2022-06-30 20:15:38
如果没有为表指定主键,CockroachDB会自动添加作为主键的rowid列。rowid值是作为insert时间戳和执行语句的节点ID的组合而生成的,因此,保持排序。
要创建自己的rowid,通常使用两个函数:
unique_rowid():确保主键的唯一整数,值总是增加unordered_unique_rowid():确保主键的唯一整数,但是rowid值会使而不是增加。拥有不总是增加的rowid值有助于更均匀地划分密钥空间,防止范围热点。来自CockroachDB的有用文档:
有帮助的博客文章:
https://stackoverflow.com/questions/72821409
复制相似问题