Информация об изменениях

Сообщение Re[3]: [MSSQL] DELAYED_DURABILITY от 14.01.2019 8:18

Изменено 15.01.2019 5:39 Sinclair

Re[3]: [MSSQL] DELAYED_DURABILITY
Здравствуйте, Somescout, Вы писали:
S>Ещё такой вопрос: а если операция обновления (или вставки) идёт внутри большой и долгой транзакции, будет ли на неё влиять этот параметр?
Нет. Вообще, этот параметр влияет исключительно на поведение COMMIT. Вплоть до COMMIT, никаких изменений нету (что логично, т.к. при настройке DELAYED_RURABILITY = ALLOWED) сервер и не знает вплоть до подачи клиентом команды COMMIT о том, в каком режиме её выполнять.
Обычно в рамках "большой и долгой транзакции" коммит стоит относительно мало, так что ничего особенного на нём не наиграешь.
Режим сделан в ответ на популярные NoSQL и внетранзакционные режимы всяких мускулов, которые достигают феноменальных скоростей на вставку благодаря отказу от фиксации коммитов.
То есть основной выигрыш достигается там, где идёт плотный поток мелких транзакций, в которых стоимость flush превышает стоимость собственно записи данных.
Re[3]: [MSSQL] DELAYED_DURABILITY
Здравствуйте, Somescout, Вы писали:
S>Ещё такой вопрос: а если операция обновления (или вставки) идёт внутри большой и долгой транзакции, будет ли на неё влиять этот параметр?
Нет. Вообще, этот параметр влияет исключительно на поведение COMMIT. Вплоть до COMMIT, никаких изменений нету (что логично, т.к. при настройке DELAYED_RURABILITY = ALLOWED сервер и не знает вплоть до подачи клиентом команды COMMIT о том, в каком режиме её выполнять).
Обычно в рамках "большой и долгой транзакции" коммит стоит относительно мало, так что ничего особенного на нём не наиграешь.
Режим сделан в ответ на популярные NoSQL и внетранзакционные режимы всяких мускулов, которые достигают феноменальных скоростей на вставку благодаря отказу от фиксации коммитов.
То есть основной выигрыш достигается там, где идёт плотный поток мелких транзакций, в которых стоимость flush превышает стоимость собственно записи данных.