Транзакция базы данных и блокировка - PullRequest
2 голосов
/ 17 декабря 2011

Я пытаюсь самостоятельно научиться пользоваться базами данных, и теперь я понял, что, хотя я использовал эти концепции раньше, я не знаю, в чем разница между ними:

Что такое транзакция? Что такое замок?

Насколько мне известно, при использовании транзакции все инструкции выполняются как одна, поэтому другой пользователь не может вмешиваться. Так зачем мне использовать блокировку в этом случае? Когда следует использовать блокировку и когда транзакции?

Я использую MySQL, если это имеет значение ...

Ответы [ 3 ]

2 голосов
/ 17 декабря 2011

Транзакция представляет собой единицу, она необходима для гарантированной атомарности, или все эти шаги выполнены или не выполнены.Это необходимо сделать, потому что обычно операции с базой данных требуют от вас выполнения различных операций чтения, записи и других операций, и только успешное выполнение всего обеспечивает соответствие цели.

Для лучшего понимания прочитайте оКИСЛОТА (атомарность, согласованность, изоляция, долговечность) - это те характеристики, которые гарантируют надежную обработку транзакции.

2 голосов
/ 17 декабря 2011

Транзакции используются, когда вы выполняете запросы и хотите иметь механизм для отмены полученных изменений, если существует вероятность ошибки во время их выполнения.

Блокировка в mysql используется для получения исключительного режима для определенныхтаблица и выполнять гораздо более быстрые запросы вставки / удаления, чаще всего для массовой загрузки данных в базу данных с интенсивным использованием.

0 голосов
/ 04 апреля 2015

Транзакция - это, можно сказать, выполнение операторов DML.Когда мы используем операторы DML для вставки, обновления, выбора и удаления данных из базы данных, выполняется транзакция.Во всех транзакциях контролируется управление транзакциями.

...