在 SQL Server 2008 R2 中,使用BulkCopy
上传数千行数据会导致在同一张表上进行查询时出现问题吗?
特别是它会导致查询超时吗?
被查询的表有数百万行。
绝对可以。
就像任何其他插入操作一样,它需要锁。如果使用了足够多的锁,它将升级为全表锁(假设表允许)。任何像这样的插入操作都会阻止任何其他试图读取数据的操作,除非为这些查询指定了 NOLOCK(我在这里不推荐)。
如果您感兴趣,您实际上可以设置跟踪以查看正在使用的锁定类型。只需设置一个 Profiler 跟踪,获取“Locks: Acquired”和“Locks: Escalation”,然后进行批量插入。
警告的话,Profiler 可能会影响性能,所以我要么在开发服务器上运行跟踪,要么如果您必须在生产中运行它,导出脚本并将其作为服务器端跟踪执行。
归档时间: |
|
查看次数: |
1667 次 |
最近记录: |