Мне было интересно, почему при использовании Peewee по крайней мере UPSERT делает DELETE и INSERT, а не UPDATE, когда запись уже находится в таблице?Почему UPSERT делает DELETE и INSERT вместо UPDATE (SQLite)
Есть ли причина, по которой было бы предпочтительнее «УДАЛИТЬ, а затем ВСТАВИТЬ», а не «попробовать ОБНОВЛЕНИЕ в противном случае INSERT»?
ОБНОВЛЕНИЕ более дорогостоящее, чем DELETE & INSERT? Или UPSERT действительно означает запрос INSERT (force = True)?
Я не думаю, что SQLite поддерживает UPSERT .. там нет документации об этом: https://www.sqlite.org/docs.html – BeNdErR
мой плохой. По-видимому, этот слой обрабатывается Peewee. Juste отредактировал вопрос. Однако из того, что я прочитал, это похоже на общую реализацию. – bsuire
Возможно, что данные в обновлении занимают больше места и не могут быть обновлены на месте. –