database - 如何以最有效的方式更新数据库?

标签 database performance large-data-volumes

我正在构建一个包含大约 300.000 种产品和数百个客户的价格比较网站。

网站每天都需要更新价格和供应商库存情况。

当供应商需要更新时,我考虑删除所有供应商信息,然后每次都拉取并插入新信息。

这样做我不必担心供应商删除产品。以一种简单的方式,我每天都会获得一组新数据。

另一方面,我需要检查自动增量计数器,如果供应商只更新了整个仓库中 3 种产品的价格,则删除供应商的所有内容似乎是一种浪费。

但是更新也有它的缺点。我仍然需要读出所有数据,并将每个产品的价格/可用性与供应商的数据进行比较,一次一个产品。注意到被供应商删除的产品也更加复杂。

如何以最高效、最简单的方式实现更新?

最佳答案

我不确定您使用的是什么数据库技术。无论如何,数据库支持处理多个表之间的关系。实现这些概念取决于您。例如,您可以在创建引用表 B 的表 A(例如通过主键)时使​​用 CASCADE 选项,以确保更新/删除表 B 中的元组会级联(反射(reflect))表 A 中的相应元组。

参见 example级联和when to use

关于database - 如何以最有效的方式更新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551312/

相关文章:

oracle - 为什么此查询比 ANSI JOIN 版本执行得更好?

java - 在 Java 中读取数万个文件并写入数百万个文件

java - 使用大型数据结构时,避免 Java(eclipse) 中的 "out of memory error"吗?

php - 创建表时出错 : No database selected

mysql - 我将如何限制表格行数?

php - 我可以在没有 MySQL 表的情况下将 CSS 值保存在我的 Wordpress 主题中吗?

c# - 提高 C# 代码的性能

python - 通过 PRESTO 连接器选择随机数据样本

performance - jsf 应用程序性能改进技巧

跨多个数据库的 SQLite View 。这个可以吗?有没有更好的办法?