【问题标题】:how to update and insert millions of record in sql server 2008如何在 sql server 2008 中更新和插入数百万条记录
【发布时间】:2018-04-10 05:45:52
【问题描述】:

我正在开发具有 60 多个线程的企业级应用程序,用于使用 vb.net 桌面应用程序将数据从 10 个 sql server 更新和插入到一个 Enterprise sql server。

我的问题是在每台服务器中更新超过 1000 万个数据时,我的 cpu 使用量和内存使用量几乎 100%

系统配置:32GB RAM,Server OS 2008,SQL server 2008

【问题讨论】:

  • 如何将这些数据推送到 SQL Server?通过来自服务器本身以外的计算机的严厉插入脚本?考虑使用批量插入以获得更快的结果。
  • 考虑更详细地解释您的应用程序架构和数据结构?例如,应用程序在哪里运行?应用程序是从源服务器向企业推送数据还是从企业拉取数据?数据本身的性质是什么?它是目标上的一个简单的小行表还是一个大行和许多索引/约束等的表?
  • 我正在使用链接服务器从各种工厂服务器推送数据

标签: sql-server performance sql-server-2008-r2 cpu-usage


【解决方案1】:

如果您不在目标表上强制执行外键等约束并在此迁移期间禁用所有索引,它会更快

【讨论】:

  • 我有一个表,该表中有 50 列(大约)我有两个索引,如果我禁用更新操作,那么我的插入操作(使用批量)工作非常快,但是当我开始用插入更新然后它会变慢
猜你喜欢
  • 2012-05-30
  • 2017-01-11
  • 2016-04-12
  • 2015-07-14
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 2011-02-15
  • 2013-11-10
相关资源
最近更新 更多