更新数据库中项目列表的最佳模式

时间:2013-06-20 12:27:29

标签: mysql database

更新某些数据库中存储的项目列表的最佳模式(就平均性能而言)是什么?

例如,某些用户使用包含N行的表。他可以删除所有行,然后添加具有完全不同数据的M行,或者他只能更新一行中一个字段的一个字符。

现在我们使用DELETE查询删除所有现有行,然后删除INSERT个新行,而不考虑更改了多少数据。

对于这种情况,是否存在更有效的模式?

更新

我们还考虑了两种替代方法:

1)在更新事务的开始时SELECT,分析更新/删除/添加的行,并对数据库应用适当的更改。

2)使用户界面具有交互性,并为每个用户的操作发送包含已更改数据的AJAX请求 - 然后将相应的行标记为已更改。

1 个答案:

答案 0 :(得分:1)

批量插入,更新和删除将是最好的。如果为每个插入,更新和删除命中数据库,您可以执行批处理操作。因此,在性能的情况下,每次插入和更新的往返将被最小化。您可以批量插入数据,以便最小化数据库命中