решение 1 (коммит снаружи для l oop)
id_lists = [1, 2, 3, 4, 5, 6, 7] # id lists
for i in id_lists:
item = TableName.query.get(i)
value = long_execution_time_function() # this will take much time
item.field1 = value
db.session.commit()
решение 2 (коммит внутри для l oop)
id_lists = [1, 2, 3, 4, 5, 6, 7] # id lists
for i in id_lists:
item = TableName.query.get(i)
value = long_execution_time_function() # this will take much time
item.field1 = value
db.session.commit()
Какой из них является хорошим решением? (Особенно в аспекте базы данных, таком как блокировка таблиц и т. Д. c. Моя основная цель - слишком уменьшить блокировку БД, насколько это возможно)
Пожалуйста, предположите, что во время выполнения приведенного выше кода некоторые запросы к базе данных будут выполняться для других пользователей. А также таблицы будут иметь некоторые отношения друг с другом.
Пожалуйста, дайте мне знать, какой из них лучше и почему.