Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В контексте управления данными автокоммит - это режим работы соединения с базой данных . Каждое отдельное взаимодействие с базой данных (т. Е. Каждый оператор SQL ), отправленное через соединение с базой данных в режиме автоматической фиксации, будет выполняться в своей собственной транзакции, которая неявно фиксируется. SQL оператор выполняется в режиме автоматической фиксации не может быть откат .

Теоретически режим автоматической фиксации требует накладных расходов на транзакцию для каждого оператора , часто оказывая нежелательное влияние на производительность или использование ресурсов. Тем не менее, в таких системах, как Microsoft SQL Server, а также в таких технологиях подключения, как ODBC и Microsoft OLE DB, режим автоматической фиксации используется по умолчанию для всех операторов, изменяющих данные, чтобы гарантировать соответствие отдельных операторов ACID (атомарность- согласованность-изоляция-долговечность) свойства транзакций. [1]

Альтернатива режиму автоматической фиксации (неавтоматическая фиксация) означает, что клиентское приложение SQL само отвечает за явное завершение транзакций с помощью команд SQL фиксации или отката . [2] Режим без автоматической фиксации позволяет группировать несколько команд SQL для обработки данных в одну атомарную транзакцию.

Большинство СУБД (например, MariaDB [3] ) принудительно выполняют автоматическую фиксацию для каждого оператора DDL , даже в режиме без автоматической фиксации. В этом случае перед каждым оператором DDL предыдущие операторы DML в транзакции автоматически фиксируются. Каждый оператор DDL выполняется в отдельной новой транзакции автоматической фиксации.

См. Также [ править ]

  1. ^ Автоматическая фиксация транзакций. https://technet.microsoft.com/en-us/library/aa213069(v=sql.80).aspx
  2. ^ https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html
  3. ^ «Операторы SQL - Транзакции - НАЧАТЬ ТРАНЗАКЦИЮ» . Документация по серверу MariaDB .