Транзакции SQL сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Уровень изоляции контролирует степень, в которой данная транзакция подвергается действиям других транзакций, выполняемых одновременно. Выбрав один из четырех возможных параметров уровня изоляции, пользователь может получить больший параллелизм за счет увеличения подверженности транзакции незафиксированным изменениям других транзакций. Влияние этих уровней суммируется. Наивысшая степень изоляции от влияния других транзакций достигается путем установки уровня изоляции для транзакции T в значение SERIALIZABLE. Этот уровень изоляции гарантирует, что T читает только изменения, сделанные совершенными транзакциями, что никакое значение, считываемое или записываемое T, не изменяется любой другой транзакцией до тех пор, пока T не будет завершено, и что если T читает набор значений на основе некоторого условия поиска, это множество не изменяется другими транзакциями до тех пор, пока T не будет завершено (т. е. T избегает фантомного явления). С точки зрения реализации на основе блокировок, транзакция SERIALIZABLE получает блокировки перед чтением или записью объектов, включая блокировки наборов объектов, которые должны быть неизменными (см. Раздел 17.5.1), и удерживает их до конца, в соответствии со Строгим 2PL. ,

Гарантирует, что T читает только изменения, сделанные совершенными транзакциями, и никакое значение, считываемое или записываемое T, не изменяется никакими другими транзакциями до тех пор, пока T не будет завершено. Тем не менее, Т может испытать фантомное явление; например, пока T проверяет все записи Sailors с рейтингом = 1, другая транзакция может добавить новую такую ​​запись Sailors, которая пропускается T.

Ttransaction устанавливает те же блокировки для SERIALIZABLE транзакции, за исключением того, что не выполняет блокировку индекса; то есть он блокирует только отдельные объекты, а не наборы объектов. Гарантирует, что T читает только изменения, сделанные совершенными транзакциями, и что никакое значение, записанное T, не изменяется никакими другими транзакциями до тех пор, пока T не будет завершено. Однако значение, считываемое T, вполне может быть изменено другой транзакцией, пока T еще находится в процессе выполнения, и T подвержена фантомной проблеме.

Транзакция получает эксклюзивные блокировки перед записью объектов и удерживает эти блокировки до конца. Он также получает общие блокировки перед чтением объектов, но эти блокировки снимаются немедленно; их единственный эффект – гарантировать, что транзакция, которая последней изменила объект, завершена. (Эта гарантия основана на том факте, что каждая транзакция SQL получает эксклюзивные блокировки перед записью объектов и сохраняет эксклюзивные блокировки до конца.)

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

Ttransaction не получает общие блокировки перед чтением объектов. Этот режим представляет наибольшую подверженность незафиксированным изменениям других транзакций; настолько, что SQL запрещает такой транзакции вносить какие-либо изменения самостоятельно – транзакция READ UNCOMMITTED должна иметь режим доступа ТОЛЬКО READ. Поскольку такая транзакция не получает блокировок для чтения объектов и ей не разрешается записывать объекты (и, следовательно, никогда не запрашивает эксклюзивные блокировки), она никогда не делает никаких запросов блокировки.

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

Уровень изоляции и режим доступа можно установить с помощью команды SET TRANSACTION.

Зарегистрируйся, чтобы продолжить изучение работы

    Поделиться сочинением
    Ещё сочинения
    Нет времени делать работу? Закажите!

    Отправляя форму, вы соглашаетесь с политикой конфиденциальности и обработкой ваших персональных данных.