sql - 如何在批量插入中找到瓶颈
问题描述
我在 SQL Server 中运行 BULK INSERT 大约 400,000 次,它需要 30 秒到几分钟之间。我要插入的表有 PK,但没有其他索引。
如何测试瓶颈是什么?现在我只是使用BULK INSERT 'table' from 'file' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '0x0a')
With all other arguments 作为默认值。
插入临时表然后合并两个sql表会更快吗?或者是否有我遗漏的论点BULK INSERT
可以加快速度?或者有没有办法检查它只是磁盘速度减慢我的速度?
解决方案
批量插入是将数据加载到 SQL Server 中的最快方法。我相信 400k 条记录不会太大。但是,如您所见,这将需要一些时间。我猜 30 秒到几分钟的表现并不可怕。老实说,你会期待什么?
推荐阅读
- python - 烧瓶 404 错误:这与 crsf 令牌有关吗?
- android - Android - 如何将数据发送到另一个应用程序而不将其带到前台?
- python - 如何改变 Tkinter 进度条的速度?
- asp.net-core-2.0 - 如何在同一操作上支持多个 Bearer 令牌处理程序?
- python - 数字识别概率
- python - 如何在 seaborn 水平条形图中每个条的右侧以粗体显示值标签?
- asp.net-core - ASP.Net Core Swagger 如何忽略默认参数值
- javascript - 无法使用 Firebase 消息编译 React 本机应用程序?
- powershell - 通过 Start-Job 调用函数并切换参数
- autocomplete - 启动命名空间时,如何使 ecplise 附加一个“//命名空间 my_ns”?