database - 开源时间序列数据库 - 时间序列数据库influxdb




什么是序列(数据库)? 我们什么时候需要它? (2)

即使有主键,我们为什么要创建序列?


主键是表中的列。

主键需要一个唯一的值,它需要来自某个地方。

序列是某些数据库产品的一项功能,它只创建唯一值。 它只是增加一个值并返回它。 它的特殊之处在于:没有事务隔离,因此多个事务不能获得相同的值,增量也不会回滚。 没有数据库序列,很难生成唯一的递增数字。

其他数据库产品支持使用递增数字自动初始化的列。

还有其他方法可以为主键创建唯一值,例如Guids。


主键(在技术术语中)仅仅是一个强制唯一性(以及加快查询性能)的索引。 那里有一些语义信息是行描述的实体的“关键”,但就是这样。

序列完全是一个不同的实体; 它与表分开存在(就像存储过程一样),可以调用它来产生序号。

这两者经常一起使用,为没有合理的“本机”密钥的实体生成自动主键。 但它们是两个独立的概念; 您可以拥有在插入期间显式填充主键的表,并且您可以使用用于填充非PK列的序列(甚至在存储过程中强制使用,与插入记录不同)。





database