我有一个用户可以按一个生成数据列表的按钮,该列表中的每个元素都需要在数据库表中插入相应的数据行。
当他们按下所述按钮时,我将插入大约4-8行数据,大约有5个字段,所以根本不是一个大查询。因此,在性能方面,最好只创建一个运行4个单独INSERT
查询的for循环,或者我可以使用stored procedure
做些什么?我不确定是否值得为这么小的东西实际创建存储过程的麻烦。
我无法真正使用一个INSERT
查询一次插入多行,因为这需要大量额外的代码才能在我的node.js
服务器上构建查询字符串。
答案 0 :(得分:1)
如果您插入的行少于10行,我发现多次运行insert
没有问题。您做会产生大量开销,启动并提交事务并将数据传递到数据库中。但是,数据库每秒可以处理数百个插入,因此对于小用户群来说,这可能就足够了。
但是,我不明白为什么insert . . . values
会很难:
insert into t(a, b, c)
values ('a1', 'b1', 'c1'),
('a2', 'b2', 'c2'),
. . .;
这似乎并不比首先循环数据困难得多。