Sql 记录插入方面的高效数据库访问
对于“新手”这个问题,我提前表示歉意,但我在SQL的大多数方面基本上还是个新手。 我的问题来自SQL艺术第二章的一部分。在题为“稳定的数据库连接”的文章中,作者提到了几种将大量行插入数据库的方法。以下是格式中的相应列表 Test; Results Connect/Disconnect for each line in turn; 7.4 lines loaded per second Connect Once, all candidate lines individually inserted; 1,681 lines loaded per second Connect Once, all candidate lines inserted in arrays of 10 lines; 5,914 lines inserted per second Connect Once, all candidate lines inserted in arrays of of 100 lines; 9,190 lines inserted per second 测验后果 依次连接/断开每条线路;每秒加载7.4行 连接一次,所有候选线分别插入;每秒加载1681行 连接一次,将所有候选线插入10行的阵列中;每秒插入5914行 连接一次,将所有候选线插入100线的阵列中;每秒插入9190行 此外,作者还提到了“更快的直接加载技术”Sql 记录插入方面的高效数据库访问,sql,tsql,insert,data-access-layer,Sql,Tsql,Insert,Data Access Layer,对于“新手”这个问题,我提前表示歉意,但我在SQL的大多数方面基本上还是个新手。 我的问题来自SQL艺术第二章的一部分。在题为“稳定的数据库连接”的文章中,作者提到了几种将大量行插入数据库的方法。以下是格式中的相应列表 Test; Results Connect/Disconnect for each line in turn; 7.4 lines loaded per second Connect Once, all candidate lines individually inserte
不幸的是,我并不完全理解插入数组的想法(如果有的话)。有谁能详细介绍一下作者提到的插入数组和其他“直接加载技术”方面的技术吗?将大量数据插入SQLServer表的最快方法是使用一个称为“批量插入”的过程。有几种方法可以做到这一点。SQL Server附带了一个名为bcp的命令行应用程序,有一个TSQL命令大容量插入,还有一个.NET SQL客户端对象System.Data.SqlClient.SqlBulkCopy。作者正在展示
INSERT INTO Table (Column)
VALUES ('myValue')
只会这么快
这将大大加快速度
INSERT INTO Table (Column)
VALUES ('myFirstValue'),
('mySecondValue'), ...
作者说,拥有10个值项每秒可插入5914行,但如果单个SQL语句中有100个项,则加载速率将上升到每秒9190行
最后,“直接加载技术”指的是批量插入操作。您可以通过谷歌查找大量教程,用于上传文件,然后将其处理到表中。我要补充的是(至少在SQL Server上),您可以发送XML文件并插入其中的行。相当快。不像大容量插入那样快,而是像将插入到表中“格式化”一样快