代码之家  ›  专栏  ›  技术社区  ›  hancho

删除/创建vs删除/更新的性能

  •  2
  • hancho  · 技术社区  · 7 年前

    在这里尝试找出最佳实践。

    我正在写一些端点,如果对象的日期变得连续,它们将基本上合并一组对象。

    假设有三个对象我要分组。

    obj1 = {id: 1, start: 1/1/18, end: 1/2/18}
    obj2 = {id: 2, start: 1/2/18, end: 1/3/18}
    obj3 = {id: 3, start: 1/4/18, end: 1/5/18}
    

    以下任一方面是否有任何性能优势或最佳实践-

    创建一个新对象,它本质上是按日期分组在一起的前3个对象。然后删除其他三个对象。

    obj4 = {id: 4, start: 1/1/18, end: 1/5/18}
    obj1.delete()
    obj2.delete()
    obj3.delete()
    

    obj1.end = 1/5/18
    obj1.save()
    obj2.delete()
    obj3.delete()
    

    这里只是伪代码,但这是在django应用程序中。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  3
  •   Teo Klestrup Röijezon    7 年前

    这取决于数据库,但PostgreSQL(因为您在标记中提到了它)通常会将更新实现为删除,然后再插入,因此差异应该是可以忽略的。