在记录插入方面的有效数据库访问

Tel*_*ini 0 sql t-sql data-access-layer insert

我为"菜鸟"问题提前道歉,但我在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  

此外,作者还提到了"更快的直接加载技术".

不幸的是,我并不完全理解插入数组的想法(如果有的话).在插入数组和他引用的其他"直接加载技术"方面,有没有人可以详细说明作者所指的技术?

And*_*rew 6

作者正在证明这一点

INSERT INTO Table (Column) 
VALUES ('myValue')
Run Code Online (Sandbox Code Playgroud)

只会这么快.

这样做会快得多

INSERT INTO Table (Column) 
VALUES ('myFirstValue'), 
('mySecondValue'), ...
Run Code Online (Sandbox Code Playgroud)

作者说有10个VALUES项目每秒插入5,914行,但如果单个SQL语句中有100个项目,那么加载速率会达到每秒9,190行.

最后,"直接加载技术"指的是批量插入操作.你可以谷歌msSQL批量插入找到许多教程,用于上传文件,然后将其处理成一个表.