gpt4 book ai didi

sql-server - 索引 SQL Server 上的 rowversion/timestamp 列的后果

转载 作者:行者123 更新时间:2023-12-04 00:58:03 25 4
gpt4 key购买 nike

与我之前关于序列没有中间孔的问题有关(保证读者可见的数字始终在递增)enter link description here我想问一下我设计的解决方案是否有意义。

我用 rowversion 创建了一个表柱子。如果我理解正确,SQL Server 保证这些值将始终递增。因为这只是一堆字节,查询如 WHERE RowVer > 1567将需要强制转换,因此会导致表扫描。

所以我创建了一个索引 View 来进行转换,并且我正在查询该 View 。在表面上它有效(查询计划显示索引查找),但我不确定 是否有效。总是递增 如果我通过索引,保证仍然有效。请帮忙。

编辑
调试时似乎工作正常,但将任何选择插入到我的表块中。需要调查持有什么样的锁。

最佳答案

不,没有意义
rowversion/timestamp数据库唯一的,不是表唯一的。并且它将通过 UPDATE 更改为行,而不仅仅是 INSERT。因此,这并不是您想要的严格单调递增。

请注意,不保证数字从任何特定值开始

编辑,什么是“数据库唯一”?

MSDN says for rowversion (时间戳)

Each database has a counter that is incremented for each insert or update operation that is performed on a table that contains a rowversion column within the database. This counter is the database rowversion



当前值在 @@DBTS

关于sql-server - 索引 SQL Server 上的 rowversion/timestamp 列的后果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16521372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com