Встречается на собеседованиях • сегодня
Какие плюсы и минусы транзакций
Плюсы:
- Атомарность: Все операции в транзакции выполняются как единое целое — либо все успешно, либо ни одна.
- Согласованность: Гарантирует, что данные остаются в корректном состоянии после транзакции.
- Изолированность: Промежуточные изменения не видны другим транзакциям до завершения.
- Долговечность: После фиксации изменения сохраняются даже при сбоях системы.
Минусы:
- Производительность: Блокировки и управление транзакциями могут замедлять работу.
- Сложность: Неправильное использование может привести к взаимоблокировкам (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
интервью вопросы и ответы