更新某些数据库中存储的项目列表的最佳模式(就平均性能而言)是什么?
例如,某些用户使用包含N行的表。他可以删除所有行,然后添加具有完全不同数据的M行,或者他只能更新一行中一个字段的一个字符。
现在我们使用DELETE
查询删除所有现有行,然后删除INSERT
个新行,而不考虑更改了多少数据。
对于这种情况,是否存在更有效的模式?
更新
我们还考虑了两种替代方法:
1)在更新事务的开始时SELECT
,分析更新/删除/添加的行,并对数据库应用适当的更改。
2)使用户界面具有交互性,并为每个用户的操作发送包含已更改数据的AJAX请求 - 然后将相应的行标记为已更改。
答案 0 :(得分:1)
批量插入,更新和删除将是最好的。如果为每个插入,更新和删除命中数据库,您可以执行批处理操作。因此,在性能的情况下,每次插入和更新的往返将被最小化。您可以批量插入数据,以便最小化数据库命中