当前位置: 首页 > 知识库问答 >
问题:

替换一百万条记录的列值(xml记录)

庄兴发
2023-03-14

我有一个“Customer”表,它有将近120万条记录,其中一列是ntext类型的“customer_records ”,它包含xml数据。我需要在该列的所有现有记录中替换一个url值。我尝试了下面的替换查询,但是执行该查询需要大约20分钟的时间。

Update  Customer
SET  Customer_records = Cast(Replace(Cast( Customer_records As nvarchar(max)), 
N'http://testuser.testcompany.net', N'https://replaceurl.testcompany.net') As ntext)

在更新期间,CPU 消耗被利用到最大,这引起了问题。在 120 万条记录中,实际更新的记录中有 60 万条记录,但查询需要读取每条记录以查找和替换 URL 文本。

请无论如何,使用“替换”可以更有效地执行此操作。

共有1个答案

朱天逸
2023-03-14

尝试Python和熊猫数据帧。或者使用“with(TABLOCK)”选项运行更新。

 类似资料:
  • 问题内容: 有一个数据库,它在一个表中大约包含200万条记录。我从我的Java代码中运行查询,例如“ select * from table”。是否将从结果集中的数据库中获取完整数据。或不 。如果是,那么它将如何工作,我想学习此检索工作, 请让我知道,我在某处了解到它将从数据库中检索完整的数据并将其存储在临时存储中,并在输出中显示出来。还是与J2C有关 问题答案: 它会从结果集中的数据库中获取完整

  • 有一列我想检索并插入到另一个表中例如,下面是我想检索值的第一个表 我使用MSSQL2008

  • 在我的用户表中,我需要在凌晨12点将“每日”列恢复为默认值“1”。 是否有一种方法可以让我在每天上午12点将值恢复为默认值1或将100万条记录的值更新为1,而不延迟任何时间(意味着所有用户的“每日”列将同时更新)? 注:“每日”列用于确定用户是否已“用完”其每日单击。用户每天有1次机会点击按钮(有点像奖励框)。单击按钮后,每日将更新为“0”,直到第二天才能再次单击按钮。

  • 我想更新postgres表的一列。记录大约有5500万条,所以我们需要在10000条记录中更新它。注意:我们要更新所有行。但我们不想锁桌子。 我正在尝试以下查询- 我们如何为每10000条记录更新做一个循环? 如有任何建议和帮助,将不胜感激。 PostgreSQL 10.5

  • 您可以使用link-to帮助程序在路径之间移动时向浏览器的历史记录添加条目,并使用replace=true选项替换当前条目。 语法 (Syntax) {{#link-to 'link-text' 'route-name' replace = true}} //text here {{/link-to}} 例子 (Example) 该示例显示如何替换浏览器历史记录中的当前条目。 创建名称为i

  • 我构建了一个由九个节点组成的hbase集群。每个节点都有64GB的内存容量。现在,我想向hbase插入数百万条记录。为了提高写入性能,我在每个节点中创建了20个线程,并且在每个节点中将writebuffer设置为64MB,并且自动刷新为false。 准备好数据并设置好配置后,我启动hbase集群。但当记录达到一定程度时,问题就出现了。 Java语言网SocketTimeoutException:等