Вопросы с тегом «isolation-level»

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

4
ALLOW_SNAPSHOT_ISOLATION и READ_COMMITTED_SNAPSHOT
Большинство форумов и примеров в Интернете всегда предлагают включить оба варианта ALLOW_SNAPSHOT_ISOLATIONи READ_COMMITTED_SNAPSHOTвключить их, когда кто-то задает моментальный снимок, версию строки или аналогичный вопрос. Я думаю, слово SNAPSHOT в обоих случаях немного сбивает с толку. Я подумал, что для того, чтобы ядро ​​базы данных использовало управление версиями строк вместо блокировок …

3
Управление параллелизмом при использовании шаблона SELECT-UPDATE
Допустим, у вас есть следующий код (пожалуйста, не обращайте внимания, что это ужасно): BEGIN TRAN; DECLARE @id int SELECT @id = id + 1 FROM TableA; UPDATE TableA SET id = @id; --TableA must have only one row, apparently! COMMIT TRAN; -- @id is returned to the client or used …

3
Преимущества УСТАНОВЛЕННОГО УРОВНЯ ИЗОЛЯЦИИ СДЕЛКИ СЧИТАЮТСЯ
Я использую SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDв большинстве своих общих запросов SQL, главным образом потому, что это было подробно изучено при первоначальном изучении языка. WITH (NO LOCK)Насколько я понимаю, этот уровень изоляции действует так же, как и я, когда-либо склонен использовать SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED. Есть ли …

2
Где InnoDB хранит данные транзакции до ее совершения?
Я провел несколько тестов, используя READ_COMMITTEDи READ_UNCOMMITTEDдома, используя технологию JDBC. Я вижу, что на READ_UNCOMMITTEDсамом деле может читать непереданные данные, например, данные из какой-то транзакции, еще не зафиксированной (может выполнить UPDATE-запрос). Вопросы Где хранятся незафиксированные данные, чтобы READ_UNCOMMITTEDтранзакция могла считывать незафиксированные данные из другой транзакции? Почему READ_COMMITTEDтранзакция не может прочитать …

4
MySQL InnoDB блокирует первичный ключ при удалении даже в READ COMMITTED
Предисловие Наше приложение запускает несколько потоков, которые выполняют DELETEзапросы параллельно. Запросы влияют на изолированные данные, т. Е. Не должно быть вероятности того, что одновременное выполнение будет DELETEпроисходить в одних и тех же строках из отдельных потоков. Однако согласно документации MySQL использует так называемую блокировку следующего ключа для DELETEоператоров, которая блокирует …

6
Лучшая ситуация для использования READ UNCOMMITTED уровня изоляции
Как мы все знаем, READ UNCOMMITTED - это самый низкий уровень изоляции, при котором могут возникать такие вещи, как грязное чтение и фантомное чтение. Когда лучше всего использовать этот уровень изоляции и по каким причинам его можно использовать? На самом деле я читал ответы раньше, но я не мог понять …

2
Shared Lock выдан на IsolationLevel.ReadUncommitted
Я прочитал, что если я использую IsolationLevel.ReadUncommitted, запрос не должен вызывать никаких блокировок. Однако, когда я проверил это, я увидел следующую блокировку: Resource_Type: HOBT Request_Mode: S (Shared) Что такое замок HOBT? Что-то связанное с HBT (блокировка кучи или двоичного дерева)? Почему я все еще получу замок S? Как избежать общей …

4
Должен ли я добавить чтение, зафиксированное после УСТАНОВКИ УРОВНЯ ИЗОЛЯЦИИ SET TRANSACTION?
Внутри хранимой процедуры у меня есть следующее: (SQL Server 2008) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRANSACTION getStuff BEGIN TRY /* some selects, updates, etc, etc. */ .... COMMIT TRANSACTION getStuff END TRY BEGIN CATCH ... END CATCH Поскольку это основано на транзакциях, я думал, что остальные соединения с базой …

3
SQL Server - какой уровень изоляции для неблокирующих операторов выбора?
У меня есть длительная транзакция (называемая, скажем, T1), которая выполняет некоторые операции удаления, обновления и вставки в таблицу в SQL Server 2008 R2. В то же время другой процесс периодически запускает операторы выбора из этой таблицы. При настройках изоляции по умолчанию (ЧИТАТЬ, ЧТО ЯВЛЯЕТСЯ?) T1 блокирует выполнение любых операторов выбора …

2
Блокирует ли сериализуемый уровень изоляции SQL Server всю таблицу
Я и мой коллега обсуждали последствия использования сериализуемого уровня изоляции. Он сказал, что он заблокировал всю таблицу, но я не согласился с тем, что он сказал, что это возможно, но он пытается применить блокировки диапазона и не применяет истинную сериализацию, как описано здесь: Сериализуемый уровень изоляции . Я не могу …

1
Поиск уровня изоляции по умолчанию в SQL Server 2017 и Azure SQL DB
Я читаю книгу, связанную с транзакциями и параллелизмом. В одном абзаце упоминается, что: В локальном экземпляре SQL Server уровнем изоляции по умолчанию является Read-Committed на основе блокировки И следующее предложение: По умолчанию в базе данных SQL - Чтение - зафиксированный снимок на основе контроля версий строк Мой вопрос: в чем …

1
Повторяющиеся записи возвращаются из таблицы без дубликатов
У меня есть хранимая процедура, которая запрашивает таблицу занятых очередей, которая используется для распределения работы в нашей системе. У рассматриваемой таблицы есть первичный ключ на WorkID и нет дубликатов. Упрощенная версия запроса: INSERT INTO #TempWorkIDs (WorkID) SELECT W.WorkID FROM dbo.WorkTable W WHERE (@bool_param = 0 AND ((W.InProgress = 0 AND …

3
«Когда соединение закрывается и возвращается в пул, уровень изоляции от последнего оператора SET TRANSACTION ISOLATION LEVEL сохраняется»?
В сетевой статье MSDN « Изоляция моментальных снимков в SQL Server » говорится: «Уровень изоляции имеет область действия всего соединения, и после установки для соединения с помощью инструкции SET TRANSACTION ISOLATION LEVEL он остается в силе до тех пор, пока соединение не будет закрыто или не будет установлен другой уровень …

2
Счетчик выбора SQL Server READ_COMMITTED_SNAPSHOT QUESTION
Я, кажется, получаю много тупиков при выполнении select count (*) для конкретной таблицы. Я уже изменил все необходимые параметры и сделал их блокировкой только строк. Я также изменил базу данных, чтобы использовать READ_COMMITTED_SNAPSHOT изоляцию, Тем не менее, кажется, что с помощью счетчика выбора (*) где столбец =? на столе вызывает …

2
Является ли база данных SQL Server пишет медленнее с изоляцией моментальных снимков?
У меня в системе много тупиков. Я бы хотел использовать Snapshot Isolation для их исправления, но у моего администратора есть резервы. Одна из его проблем заключается в том, что изоляция моментальных снимков замедляет запись. Это потому, что он должен записать в кеш, а затем в TempDb (версия строки), а затем …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.