【发布时间】:2010-11-15 00:58:40
【问题描述】:
我想在一个表中插入 n 条记录。可能有许多并发用户,他们可能会从该表中插入/更新/选择数据。在这样的表中插入 1000 条记录的更好方法是什么:
- 将单个 sql 查询发送到具有多个插入的数据库。这将服务器保存到数据库调用,但(我不确定)锁定表,直到插入完成,并且对该表的所有其他查询都将等待。
- 将 1000 条记录分成若干块,并在多个 sql 查询中发送。这允许在表上执行其他查询,但将时间花在服务器到数据库的调用上。
这取决于某些东西,还是只有一种方法始终是最佳方法? 这是否取决于在插入数据时是否使用事务? 还有其他更好的方法来执行此类插入吗?
我使用的数据库是 MS SQL,但有趣的是它在 Oracle 等其他数据库中的工作方式。
【问题讨论】:
标签: sql database performance insert