我有一个导入实用程序与我的SQL Server实例位于同一物理服务器上.它使用自定义IDataReader
解析平面文件,并使用SQLBulkCopy
将其插入到数据库中.一个典型的文件大约有6M个合格行,平均5列小数和短文本,每行大约30字节.
在这种情况下,我发现批量大小为5000是速度和内存消耗的最佳折衷方案.我从500开始,try 了更大的.我发现5000比500平均快2.5倍.插入600万行大约需要30秒(批量大小为5000)和80秒(批量大小为500).
一万美元的速度并没有明显加快.升级到50000后,速度提高了几个百分点,但不值得增加服务器上的负载.超过5万辆车的速度没有提高.
这不是一个公式,但它是供您使用的另一个数据点.