在 SQL Server 上对 rowversion/timestamp 列建立索引的后果

2023-12-20

与我之前关于没有中间漏洞的序列的问题相关(保证读者可见的数字始终递增)在此输入链接描述 https://stackoverflow.com/questions/16518133/how-to-prevent-interim-identity-holes-in-sqlserver我想问一下我设计的解决方案是否有意义。

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

因此,我创建了一个可以进行转换的索引视图,并且正在查询该视图。从表面上看,它有效(查询计划显示索引查找),但我不确定是否总是递增如果我浏览索引,保证仍然成立。请帮忙。

Edit
调试时似乎工作正常,但插入到我的表中会阻止任何针对它的选择。需要调查正在持有什么类型的锁。


不,这没有意义

rowversion/timestamp is database唯一,而不是表唯一。并且它会被行的 UPDATE 更改,而不仅仅是 INSERT。因此,这并不是您想要的严格单调递增。

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

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

MSDN 说 for rowversion http://technet.microsoft.com/en-us/library/ms182776.aspx(时间戳)

每个数据库都有一个计数器,该计数器随着对数据库中包含 rowversion 列的表执行的每次插入或更新操作而递增。这个计数器是数据库行版本

当前值位于@@DBTS http://technet.microsoft.com/en-us/library/ms187366.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL Server 上对 rowversion/timestamp 列建立索引的后果 的相关文章

  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 如何在NiFi中映射流文件中的列数据?

    我有 csv 文件 其结构如下 Alfreds Centro Ernst Island Bacchus Germany Mexico Austria UK Canada 01 02 03 04 05 现在我必须将这些数据移入数据库 如下所示
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤
  • VB6+SQL-Server:如何使用 ADODB.Command 执行带有命名参数的查询?

    我一直在尝试使用 ADODB Command 执行参数化查询 我知道我可以使用 对于参数 但我的查询相当大 我真的不想跟踪参数的确切顺序 我尝试了类似以下的操作 objCmd CommandType adCmdText objCmd Com
  • 优化 SQL Server 上的删除

    Deletesql server 上的有时很慢 我经常需要优化它们以减少所需的时间 我一直在谷歌上搜索一些关于如何做到这一点的提示 并且我发现了各种各样的建议 我想知道你最喜欢和最有效的驯服删除野兽的技术 以及它们如何以及为什么起作用 到目
  • 如何从 SQL Server 存储过程返回值并在 Access VBA 中使用它们

    我已经在 SQL Server 中设置了一个运行良好的存储过程 我现在可以从 VBA 调用它 但想返回一个值以了解是否存在任何错误等 我的 SP 中的最后一个参数设置为 OUTPUT DataSetID int 0 Destination
  • 在 C# 中读取大型 SQL 脚本文件

    我正在尝试阅读一个大脚本 到目前为止我已经尝试了两种选择 选项1 由于内存空间不足的问题 我们无法在SQL Management Studio中打开大型脚本文件 所以最初我使用sqlcmd在远程主机上执行 160 mb SQL 脚本文件 5
  • 无法删除 Access 中 SQL 表上的注册表

    我有一个在 Access 应用程序中链接的 SQL Server 表 如果我尝试使用删除查询删除记录 则没有问题 但是 如果我尝试直接在表中删除记录或在数据表模式下使用选择查询 Access 不允许我删除记录并引发以下警告 Microsof
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • 如何将 数组传递给存储过程

    我有一个清单索赔数据在 C 中 它有三个项目 日期 类型和描述 其中可以有多行 如下所示 索赔数据 Date Type Description 01 02 2012 Medical Its a medical 05 02 2013 Thef
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • SQL Server 数据库架构版本控制和更新

    对于我的应用程序 我必须支持更新方案 并且数据库可能会受到影响 我希望能够从旧版本更新到最新版本 而无需安装中间版本 例如 假设我有版本 A 最旧的版本 B 中间版本 和 C 新版本 我希望能够将版本 A 直接更新到版本 C 对于应用程序文
  • 想要编写依赖于 SQL Server 表的所有对象的脚本

    查看依赖关系 显示依赖于 SQL Server 中的表的所有对象 现在 我如何使用 SSMS 在一个命令中编写所有这些对象的脚本 有没有免费的工具可以做到这一点 首先你可以尝试这个链接了解 SQL 依赖关系 http msdn micros
  • 如何获取自定义订单的结果? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 代替ASC or DESC 我希望我的查询结果采用特定的自定义顺序 例如 如果我想要的结果不是 A B C D 而是 P A L H 该怎么
  • 组内 STRING_AGG 和 Visual Studio 的问题

    我正在使用 Visual Studio 2015 并且我的 SQL Server 数据库项目中的 STRING AGG Within GROUP 出现问题 SELECT Continent STRING AGG Country WITHIN
  • 使用默认路径中的文件创建数据库

    我想创建一个创建数据库的 SQL 脚本 现在 我有这个 CREATE DATABASE Documents ON PRIMARY NAME N Documents FILENAME N Documents mdf LOG ON NAME N
  • 批量插入,asp.net

    我需要获取与会员相对应的 ID 号列表 在任何给定时间处理的数量可能在 10 到 10 000 之间 我可以毫无问题地收集数据 解析数据并将其加载到 DataTable 或任何内容 C 中 但我想在数据库中执行一些操作 将所有这些数据插入表

随机推荐

  • PHP:函数中的 $_GET 和 $_POST?

    我对代码感到惊讶 其中 GET 值 例如 GET username 不作为函数的参数包含在内 什么时候需要包含 POST 和 GET 方法作为函数的参数 什么时候需要包含 POST 和 GET 方法作为参数 功能 我会说 永远 GET an
  • php如何测试文件是否已完全上传

    有没有办法检查文件是否已完全上传到服务器 我的场景 用户通过 ftp 上传文件 我的其他 PHP 任务在 cronjob 中运行 现在我想检查文件是否已上传或用户是否仍在上传 这很重要 因为这样我就知道我是否可以使用该文件或等到它上传 谢谢
  • 有没有办法在 HTML5 中创建自己的 html 标签?

    我想创建类似的东西 menu menu
  • 为什么 C++11 不能将不可复制的函子移动到 std::function ?

    struct A A A A A operator A return this void operator private A const A A operator const A int x int main A a std
  • C# .NET 中 Windows 窗体之间的值

    我有两种形式 一种是主形式 有一个 crystalreportviewer 另一种形式是用户介绍他想要出现在报告中的用户的 ID 问题我希望用户在报告加载信息之前引入ID 因此当用户在报告加载信息之前单击CreateReport按钮时 我创
  • 如何在java中实现自定义http会话?

    我需要用 Java 实现我自己的 HttpSession 版本 我发现很少有信息可以解释如何实现这一壮举 我想我的问题是 无论应用程序服务器的实现如何 如何覆盖现有的 HttpSession 我确实读过一本高质量但相当老的读物 它帮助我实现
  • 为什么在此表达式中用括号替换美元符号 ($) 会导致错误? [复制]

    这个问题在这里已经有答案了 我有这两种表达方式 foldr 0 map uncurry coords 5 7 foldr 0 map uncurry coords 5 7 1 工作打印出结果 但 2 有错误说
  • 是否可以在不修改/压缩提交的情况下将补丁集添加到 Gerrit 审查中

    一个简单的例子 我对 Gerrit 进行了更改 这会破坏 CI 构建或审阅者不满意 然后我用另一个提交修复我的更改 在许多情况下 这是一个小补丁集 我不希望对其进行新的 gerrit 审查 而是希望将其作为原始审查中的新补丁集 我知道这可以
  • 如何创建动态 LINQ 连接扩展方法

    有一个动态库LINQ http en wikipedia org wiki Language Integrated Query扩展方法作为示例发布Visual Studio 2008 http en wikipedia org wiki M
  • ASP.NET 中的类似 WordPress 的插件框架

    我正在开发一个 CMS 我想要一个框架 这样任何人都可以像 WordPress 一样为其添加插件 我找到了很多解决方案 但它们并没有那么有帮助 谁能告诉我一个好的解决办法吗 Thanks 我可能会首先查看托管可扩展性框架 http www
  • 按住鼠标右键移动无边框 Winform,可能使用本机方法

    我有一种情况 我想通过在窗口的客户区域上按住鼠标右键来移动窗口 正如我所说 它的形式是无边界的 我想 本地 移动它 如果可能的话 否则其他答案也可以 我的意思是当你在标题栏上按住鼠标左键时它的行为方式 通过鼠标移动和类似的事情我得到了很多奇
  • VS Code 有没有办法导入 Makefile 项目?

    正如标题所说 我可以从现有的 Makefile 自动填充 c cpp properties json 吗 Edit 对于其他尝试导入 makefile 的人 我找到了一组脚本 它们完全可以实现我想要实现的目标 即通过 VS Code 管理
  • Java与指纹识别

    有人用Java实现指纹识别系统吗 例如 它附带了适用于 linux 和 windows 平台的 java api http www griaulebiometrics com page en us manual fingerprint sd
  • 为什么 ObservableCollection 不会在项目更改时更新?

    我注意到ObservableCollection在 WPF 中 仅通过添加或删除列表中的项目来反映 GUI 中的更改 而不是通过编辑它 这意味着我必须编写自定义类 ObservableCollection 这种行为的原因是什么 Thanks
  • 强制“git merge”将所有差异声明为合并冲突

    在 git merge 中 我希望任何差异 即使通常不是合并冲突 也被视为合并冲突 然后 通过 git mergetool 我可以看到并解决每个差异 我尝试在 gitattributes 中指定 merge 但这似乎不起作用 git che
  • mysql float 返回错误值

    我有一个高精度值的表 存储为Float 当我在表中查询该值时 它返回四舍五入到第一位数字的四舍五入值 但是当我运行下面的查询时 我得到了我存储的值 SELECT MY FLOAT COL 1 FROM MY TABLE Mysql 内部发生
  • Botframework 提示对话框直到用户完成

    我正在使用 Microsoft 的 botbuilder 和 LUIS 创建一个 slack 聊天机器人 有办法继续使用吗builder Prompts text 不断询问用户是否还有用户想要输入的信息 例如for or while环形 例
  • 如何更改 Visual Studio 中的默认构建输出目录?

    在 Visual Studio 2010 到 2013 中 默认情况下 例如 当我创建新的控制台应用程序时 新解决方案将其编译的可执行文件输出到Solution name Project name bin Debug 我希望它们输出到Sol
  • 用于查找数字阶乘的递归函数

    我得到的输出为 24 这是 4 的阶乘 但我应该得到 5 阶乘的输出 即 120 include
  • 在 SQL Server 上对 rowversion/timestamp 列建立索引的后果

    与我之前关于没有中间漏洞的序列的问题相关 保证读者可见的数字始终递增 在此输入链接描述 https stackoverflow com questions 16518133 how to prevent interim identity h