我将大约 700 万行插入到 SQL Server 的表中。该表有大约 9-10 列,它在 2 个键(列)上有一个聚集索引
和另外 3 个非聚集索引。
我正在尝试做高性能/批量插入数据,但插入300万条记录后速度很慢,磁盘使用率高达99%。以下是我为加快此过程所做的工作:
1) 禁用所有非聚集索引。我没有禁用2列聚集索引,因为聚集索引禁用后无法插入数据?
2) 我正在使用 C# SqlBulkCopy
每次批量插入 5,000 条记录。
3) 该表没有任何约束和触发器
我应该做些什么来加快这个数据插入过程?
最佳答案
摆脱所有索引。每次使用索引写入时,在写入每条记录时都必须重新构造物理页面。使用代码 (DROP INDEX) 转储所有索引,插入数据,然后使用代码 (CREATE INDEX) 重新构建索引。
关于c# - 高性能数据插入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028674/