插入时锁定表

2023-11-22

我有一个从视图填充的大表。这样做是因为视图需要很长时间才能运行,并且更容易在表中提供可用的数据。每隔一段时间就会运行一个过程来更新表。

 TRUNCATE TABLE LargeTable

 INSERT INTO LargeTable
 SELECT * 
 FROM viewLargeView
 WITH (HOLDLOCK)

我想在插入时锁定该表,这样如果有人尝试选择一条记录,他们在截断后将不会收到任何记录。我使用的锁似乎锁定了视图而不是表。

有没有更好的方法来解决这个问题?


确实,正确的锁定提示会影响源视图。

为了使您在插入时没有人可以读取表中的内容,请执行以下操作:

insert into LargeTable with (tablockx)
...

在插入完成之前,您无需执行任何操作即可使表看起来为空。插入总是在事务中运行,并且没有其他进程可以读取未提交的行,除非它们明确指定with (nolock) or set transaction isolation level read uncommitted。据我所知,没有办法避免这种情况。

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

插入时锁定表 的相关文章

  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • 什么时候应该使用 C++ 而不是 SQL?

    我是一名 C 程序员 偶尔使用 MySQL 来处理数据库 但我的 SQL 知识相当有限 但我肯定愿意改变这一点 目前 我正在尝试仅使用 SQL 查询对数据库中的数据进行分析 但我准备放弃了 转而将数据导入到C 中 用C 代码进行分析 我和同
  • 如何搜索例程的内容/(SP-触发函数)

    我需要在数据库内所有例程的例程主体 存储过程 函数 触发器 中搜索文本 我该怎么做 Thanks SELECT OBJECT NAME object id FROM sys sql modules WHERE definition LIKE
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • SQL返回两行之间的秒差

    这个问题与SQL Server有关 我有下表 id size batch code product code additiontime 1 91 55555 BigD Red 2017 05 15 13 00 00 2 91 55555 B
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 如何识别拼写不同的相似单词

    我想从数据库中过滤掉重复的客户名称 一位客户可能有多个同名但拼写差异不大的系统条目 这是一个示例 名为 Brook 的客户可能有 3 个系统条目 有了这个变化 布鲁克 贝尔塔 布鲁克 贝尔塔 比鲁克 贝尔塔 假设我们将此名称放入一个数据库列
  • 删除数据库中的行后如何重新排序ID

    我正在使用 C 来制作具有 sql 数据库的程序 在数据库中我有一个名为Workers 它有一个自动增量和主键ID column 当我删除一条记录时 ID 之间会出现间隙 删除记录后如何重新排序 ID UPDATE 我要做的就是找到记录后将
  • 这种文件锁定方法可以接受吗?

    我们有 10 个 Linux 机器 每周必须运行 100 个不同的任务 这些计算机主要在我们晚上在家时执行这些任务 我的一位同事正在开发一个项目 通过使用 Python 自动启动任务来优化运行时间 他的程序将读取任务列表 抓取一个打开的任务
  • 是否有适用于 SQL Server Express 的 SQL Server Profiler? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 SQL Server Express 的 SQL Server Profiler 也许是开源的 或者也许只是一个可以帮助我查
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行

随机推荐

  • 如何在 VSCode 中创建自定义命令?

    在 Emacs 中 我可以用 Lisp 语言创建函数并将它们放在 emacs文件 这些函数将成为可以从编辑器调用或绑定到按键的命令 就像任何其他内置命令一样 有没有办法在 VSCode 中做到这一点 注意 自定义命令需要能够调用其他命令 简
  • Java Math 类的本机代码

    我想知道是否有任何方法可以访问 Math 类的本机代码 更具体地说 我需要查看 sin 方法的代码 这取决于实现 如文档中所述java lang Math 与类的一些数字方法不同StrictMath 类的等效函数的所有实现Math未定义为返
  • std::bind 成员函数到对象实例的快捷方式,无需绑定参数

    我有一个带有多个参数的成员函数 我想将其绑定到特定的对象实例并将其传递给另一个函数 我可以用占位符来做到这一点 actualInstance is a MyClass auto callback bind MyClass myFunctio
  • 根据列将多个无标题列中的值替换为 0、1、2

    根据评论编辑 背景 这是当前数据框的样子 行标签是原始 Excel 文件中的信息文本 但我希望这个小的数据复制足以解决问题 实际文件大约有 100 列和 200 行 列标题和行 0 值按照如下所示的模式重复 除了Sales or Valid
  • 如何最好地将方法传递到同一类的方法中

    我有一个 C 类 它是一个大而复杂的方法compute我想用 计算内核 来提供 这是同一类的方法 我想我会做一些类似的事情 class test int classVar 42 int compute add int a int b com
  • Wix:如果找到以前的版本,则显示自定义对话框

    我想自定义我的安装程序 以便在已安装以前的版本时显示自定义对话框 在欢迎对话框之后 用户应该看到一个自定义对话框OldVersionDlg包含已找到先前版本并将自动卸载的信息 但由于某种原因设置的属性UpgradeVersion元素总是nu
  • 集合内的流星显示数组

    我想创建一个带有标签的帖子模型 并且能够显示每个帖子的所有标签 你知道最好的方法吗 我试过这个
  • 附加新卷时 Kubernetes Pod 处于挂起状态 (EKS)

    让我描述一下我的场景 TL DR 当我在 Kubernetes 上创建带有 1 个附加卷的部署时 一切都运行良好 当我创建相同的部署 但附加了第二个卷 总共 2 个卷 时 Pod 陷入 待处理 状态并出现错误 pod has unbound
  • Java:按位 OR 和 AND 比等效的逻辑运算符更快吗?

    切干 虽然我从来没有足够的逻辑运算使它成为性能瓶颈 我想知道 使用按位与 和按位或 而不是同名逻辑运算符会更好吗 和 如果可能的话 也许这个问题可以这样开头 我不知道有一个库可以将 Java 转换为汇编来查看操作数 位运算符避免分支指令 即
  • 如何绘制多点贝塞尔曲线?

    我有几点 我尝试使用下面的代码绘制贝塞尔曲线 PathFigure pf new PathFigure points From ps false ps list of Bezier segments PathFigureCollection
  • 如何在 CMake 中的不同目录中使用文件 glob

    file GLOB and file GLOB RECURSE 似乎仅适用于当前源目录 有什么办法可以全局不同的目录吗 file GLOB 一开始可能有点令人困惑 几个月前我也遇到过类似的问题 您必须直接在中指定您的路径
  • UIImagePickerController 显示的 VIDEO_TOO_LONG_TITLE 警报

    I use a UIImagePickerController拍电影 电影的长度受到设置的限制videoMaximumDuration控制器的属性 当您尝试拍摄较长的电影时 会按预期显示一条警报 However 意外的额外警报有权VIDEO
  • 插件更新后詹金斯严重错误

    我尝试更新几个詹金斯插件 不记得是哪个 但挂了 大约 15 分钟后 我决定重新启动 jenkins 服务器 这是我在詹金斯用户界面上得到的 org jvnet hudson reactor ReactorException java lan
  • C 中具有严格别名和严格对齐的面向对象模式的最佳实践

    我已经编写嵌入式 C 代码很多年了 新一代的编译器和优化器在警告有问题代码的能力方面无疑已经进步了很多 然而 至少有一个 根据我的经验 非常常见 用例继续引起悲伤 其中多个结构之间共享公共基本类型 考虑这个人为的例子 include
  • 获取html页面上的所有链接?

    我正在做一个小爱好项目 我已经编写了获取 url 下载标头并返回 mime 类型 内容类型的代码 然而 在此之前的步骤是我坚持的步骤 我需要基于标签内部和引号中检索页面上所有网址的内容 即 会找到网站图标链接 net 库中有什么有用的东西吗
  • 如何找到与任意(非成员)数字最接近的数组元素?

    看似相似的问题 查找数组中最接近的数字 Java 中 和 找到与双打数组最接近的匹配 实际上是一道地理问题 我有一个 已排序的 双打数组 给定一个任意数字 可能与数组元素之一完全匹配 也可能不完全匹配 如何返回最接近匹配的数字的索引 例如
  • 如何在 WPF 中创建基页?

    我决定我的所有 WPF 页面都需要注册路由事件 而不是包括 public static readonly RoutedEvent MyEvent EventManager RegisterRoutedEvent MyEvent Routin
  • 通过 .txt 文件向 Scrapy Spider 传递要抓取的 URL 列表

    我对 Python 有点陌生 对 Scrapy 也很陌生 我已经设置了一个蜘蛛来爬行并提取我需要的所有信息 但是 我需要将 URL 的 txt 文件传递 给 start urls 变量 例如 class LinkChecker BaseSp
  • 在 Xcode 中的 64 位 Mac 上编译 opencv 2.4

    我有一个 opencv 项目 我一直在 ubuntu 12 04 下开发 在具有 x86 64 架构的 mac 上的 parallels VM 上 我认为存在许多屏幕切换性能问题是由 VM 造成的 其中 Linux 视频模式会翻转几秒钟 而
  • 插入时锁定表

    我有一个从视图填充的大表 这样做是因为视图需要很长时间才能运行 并且更容易在表中提供可用的数据 每隔一段时间就会运行一个过程来更新表 TRUNCATE TABLE LargeTable INSERT INTO LargeTable SELE