更新存储在某个数据库中的项目列表的最佳模式(就平均性能而言)是什么?
例如,某些用户使用由 N 行组成的表。他可以删除所有行,然后添加 M 行完全不同的数据,或者他可以只更新一行中一个字段的一个字符。
现在我们使用查询删除所有现有行,DELETE
然后删除INSERT
新行,而不考虑更改了多少数据。
对于这种情况,是否存在更有效的模式?
更新:
我们还考虑了 2 种替代方法:
1)在更新事务开始时SELECT
,分析哪些行被更新/删除/添加,并对数据库应用适当的更改。
2) 使用户界面具有交互性,并为每个用户的操作发送带有更改数据的 AJAX 请求 - 然后将适当的行标记为已更改。