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

时间:2018-12-14 18:37:18

标签: python sql django postgresql django-rest-framework

尝试在此处找出最佳做法。

我正在写一些端点,如果它们的日期连续,它们实际上将组合一组对象。

说我要分组三个对象。

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}

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

创建一个新对象,该对象实际上是按日期分组在一起的前三个对象。然后删除其他三个对象。

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 个答案:

答案 0 :(得分:2)

这取决于数据库,但是PostgreSQL(因为您已经在标记中提到了它)通常将UPDATE实现为DELETE,然后再执行INSERT,因此区别应该可以忽略不计。