Встречается на 1% собеседований по Python
Какие плюсы и минусы транзакций
Плюсы:
- Атомарность: Все операции в транзакции выполняются как единое целое — либо все успешно, либо ни одна.
- Согласованность: Гарантирует, что данные остаются в корректном состоянии после транзакции.
- Изолированность: Промежуточные изменения не видны другим транзакциям до завершения.
- Долговечность: После фиксации изменения сохраняются даже при сбоях системы.
Минусы:
- Производительность: Блокировки и управление транзакциями могут замедлять работу.
- Сложность: Неправильное использование может привести к взаимоблокировкам (deadlocks).
- Ограниченная поддержка: Не все базы данных или ORM поддерживают сложные транзакции.
Пример с psycopg2 (PostgreSQL):
python
import psycopg2
conn = psycopg2.connect("dbname=test user=postgres")
cursor = conn.cursor()
try:
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1")
conn.commit() # Фиксация изменений
except Exception as e:
conn.rollback() # Откат при ошибке
finally:
conn.close()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы