Встречается на собеседованиях • сегодня

Какие плюсы и минусы транзакций

Плюсы:

  • Атомарность: Все операции в транзакции выполняются как единое целое — либо все успешно, либо ни одна.
  • Согласованность: Гарантирует, что данные остаются в корректном состоянии после транзакции.
  • Изолированность: Промежуточные изменения не видны другим транзакциям до завершения.
  • Долговечность: После фиксации изменения сохраняются даже при сбоях системы.

Минусы:

  • Производительность: Блокировки и управление транзакциями могут замедлять работу.
  • Сложность: Неправильное использование может привести к взаимоблокировкам (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()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы