gpt4 book ai didi

database - 更新一对多表的最有效方法

转载 作者:搜寻专家 更新时间:2023-10-30 20:44:05 24 4
gpt4 key购买 nike

假设我有一个名为 bookLibrary 的表,其中一本书的唯一 ID 链接到许多图书馆(通过它们的唯一 ID)。如果您收到一本书的更新,形式为在其中找到一本书的图书馆数组,那么更新 bookLibrary 表的最有效方法是什么。

目前,我只是删除了与该书相关的所有行,并为我收到的数组中的每个图书馆添加了一个新关系(行)。这似乎有点过激,但它确实起到了作用,并确保表中没有重复的行。

另一种方法是获取一本书的所有行并查看每一行,即 (1) 该行是否仍然有效(该书仍在图书馆 x 中),(2) 哪些行需要插入(是否为第 x 本书添加了新库),以及 (3) 哪些行保持不变。

这是一个简单的解决方案的微不足道的问题,但像这样的问题经常让我怀疑效率,我也想确保尽可能避免烦人的错误(如重复行)。

最佳答案

这两种方法都行得通。我会选择“删除然后重新插入”选项,除非该方法存在已证明的性能瓶颈,因为从服务器的角度来看它更简单。此外,无法保证加载行并进行服务器端比较会更好,因为您需要加载行、进行代码内计算,然后重新保存最多 n 行。

因此,要回答您的问题,您需要进行一些分析以了解这些方法如何叠加。很大程度上取决于行数、行中的列数、涉及的 sql,以及可能的 sql 语句如何发送到服务器。

关于可靠性,可以通过广泛的测试来减少任何一种方法的错误。我认为“删除然后重新插入”方法也更易于测试。

关于database - 更新一对多表的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com