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

标签 mysql database

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

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

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

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

更新:

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

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

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

最佳答案

批量插入、更新和删除将是最好的。如果每次插入、更新和删除都需要访问数据库,您可以执行批量操作。因此,在性能方面,每次插入和更新的往返次数将最小化。您可以批量插入数据,从而最大限度地减少数据库命中

关于mysql - 更新数据库中项目列表的最佳模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213644/

相关文章:

php - 构建一个简单的CMS来管理mysql?

mysql - 从表中选择最小元素并显示 date_format 的最有效查询

php - 无需刷新页面即可更改数据库中的客户端数据

sql - 将远程客户端文件中的数据插入到 DB2 表中

mysql - 在 SSRS/MySQL 上检索行数

java - eclipse数据库创建问题

sql - 从 SQL 表中随机选择,均匀分布在列的不同值上

mysql - 将重复值移动到另一列

PHP 分解并更新数据到 mysql 数据库中的每一列

php - 使MySQL自增id(re)从1开始