我正在构建一个包含大约 300.000 种产品和数百个客户的价格比较网站。
网站每天都需要更新价格和供应商库存情况。
当供应商需要更新时,我考虑删除所有供应商信息,然后每次都拉取并插入新信息。
这样做我不必担心供应商删除产品。以一种简单的方式,我每天都会获得一组新数据。
另一方面,我需要检查自动增量计数器,如果供应商只更新了整个仓库中 3 种产品的价格,则删除供应商的所有内容似乎是一种浪费。
但是更新也有它的缺点。我仍然需要读出所有数据,并将每个产品的价格/可用性与供应商的数据进行比较,一次一个产品。注意到被供应商删除的产品也更加复杂。
如何以最高效、最简单的方式实现更新?
最佳答案
我不确定您使用的是什么数据库技术。无论如何,数据库支持处理多个表之间的关系。实现这些概念取决于您。例如,您可以在创建引用表 B 的表 A(例如通过主键)时使用 CASCADE 选项,以确保更新/删除表 B 中的元组会级联(反射(reflect))表 A 中的相应元组。
参见 example级联和when to use
关于database - 如何以最有效的方式更新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551312/