Производительность удаления / создания против удаления / обновления - PullRequest
0 голосов
/ 14 декабря 2018

Попытка выяснить лучшие практики здесь.

Я пишу некоторые конечные точки, которые по существу объединят группу объектов, если их даты станут смежными.

Скажем, есть три объекта, которые я хочу сгруппировать.

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 Ответ

0 голосов
/ 14 декабря 2018

Это зависит от базы данных, но PostgreSQL (так как вы упомянули об этом в тегах) обычно реализует UPDATE как DELETE, а затем в любом случае вставку INSERT, поэтому разница должна быть незначительной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...