Описание тега transaction-isolation

Изоляция транзакции связана с видимостью и влиянием изменений, внесенных в одной транзакции, на параллельные транзакции.
2 ответа

Может ли одновременное изменение значения повлиять на одиночный выбор в PostgreSQL 9.1?

Рассмотрим следующий запрос, выполненный в PostgreSQL 9.1 (или 9.2): SELECT * FROM foo WHERE bar = true Предположим, что это довольно длительный запрос (например, занимает минуту). Если в начале запроса есть 5 миллионов записей, для которых bar = tr…
24 авг '12 в 13:22
2 ответа

Как использовать транзакцию при чтении данных с Entity Framework 4?

Я пытаюсь использовать уровень изоляции транзакции SNAPSHOT в Microsoft SQL Server 2008 R2 с Entity Framework 4.0. Тем не менее, это не так просто, как я думал. Чтобы использовать уровень изоляции SNAPSHOT, он должен быть включен в базе данных. Я сд…
1 ответ

Как реализовать транзакцию множественной проверки NULL в mysql

Я хочу реализовать логику проверки NULL в MYSQL. Вот код: mysql> create table temp ( id int, des varchar(100), primary key (id) ); mysql> SELECT @@tx_isolation; +-----------------+ | @@tx_isolation | +-----------------+ | REPEATABLE-READ | +--…
3 ответа

Всегда ли изолирована транзакция, которая обновляет только одну таблицу?

Согласно UPDATE документация, UPDATE всегда приобретает эксклюзивный замок на весь стол. Однако мне интересно, установлена ​​ли монопольная блокировка до того, как будут определены строки, подлежащие обновлению, или только непосредственно перед факт…
08 янв '16 в 14:29
1 ответ

Почему одновременные соединения с БД видят незавершенные изменения друг друга, хотя изоляция установлена ​​на "чтение зафиксировано"?

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

MySQL интерпретирует SERIALIZABLE менее строго, чем PostgreSQL. Это правильно?

Когда используешь SERIALIZABLE транзакции для реализации шаблона вставки значения в базу данных, только если он еще не существует, я наблюдал существенную разницу между MySQL и PostgreSQL в их определении SERIALIZABLE уровень изоляции. Рассмотрим сл…
1 ответ

Могут ли два оператора InnoDB UPDATE против взаимоблокировки индекса PK, если мы будем полагаться на порядок сканирования индексов в операторе?

Если нам дают таблицу: MariaDB [test]> create table foo ( -> id integer primary key, -> version_id integer); Query OK, 0 rows affected (0.05 sec) и две строки с первичным ключом 1 и 2: MariaDB [test]> insert into foo (id, version_id) val…
18 фев '19 в 16:36
1 ответ

Приоритет уровня изоляции Spring Transaction против уровня изоляции базы данных

Скажем, уровень изоляции для базы данных установлен на READ_COMMITED, Затем с помощью весеннего управления транзакциями я устанавливаю уровень изоляции транзакции на 1) READ_UNCOMMITED - тогда какой будет эффективный уровень изоляции для этой транза…
7 ответов

Фиксация только определенных изменений, сделанных внутри транзакции, которые могут откатываться

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

Управление транзакциями с помощью Spring и Hibernate, используя изоляцию_serializable

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

Блокировка набора операций с БД в Java

У меня есть требование в моем приложении Java, чтобы выполнить набор операторов БД атомарным & изолированным способом. Например, приложению необходимо прочитать строки данных из одной таблицы и обновить строку данных в другой таблице. QueryRunner qu…
04 апр '12 в 16:13
2 ответа

В MySQL, почему установка переменной из select получает блокировку при использовании read uncommitted?

У нас есть таблица в MySQL, использующая InnoDB, и мы используем уровень изоляции транзакции для чтения незафиксированным. Почему настройка @x как показано приобрести замок? mysql> set @x = (select userID from users limit 1); Query OK, 0 rows aff…
1 ответ

Ждать чтения строки, когда есть блокировка - изоляция транзакции

Я хочу заблокировать строку таблицы, чтобы любые другие операции чтения в этой строке ожидали снятия блокировки, и я хочу избежать блокировки всей таблицы. У меня есть следующая таблица (InnoDB) CREATE TABLE account_balance ( account INTEGER UNIQUE,…
1 ответ

Постоянно обновляйте несколько строк в таблице, изолируя от одновременных помех

У меня есть задача синхронизировать две таблицы, живущие в разных базах данных. Таким образом, для каждой вставки, обновления и удаления, которые происходят в исходной таблице, эти изменения должны быть реплицированы в целевой таблице. Таблица назна…
4 ответа

NOLOCK против уровня изоляции транзакции

В чем разница между использованием "УСТАНОВИТЬ УРОВЕНЬ ИЗОЛЯЦИИ УСТАНОВКИ СЧИТАЕТСЯ НЕЗАКОННЫМ" и NOLOCK? Один лучше другого?
19 июн '09 в 15:40
1 ответ

MySql: правильный уровень изоляции транзакции, чтобы использовать для увеличения числа

Предположим, что есть таблица в БД, например: id code a8e09395-771c-4c6b-bb49-4921eeaf3927 2018-1 726b1390-b502-11e8-96f8-529269fb1459 2018-2 7a7ac7a6-b502-11e8-96f8-529269fb1459 2018-3 81758ea6-b502-11e8-96f8-529269fb1459 2019-1 Предположим, есть н…
1 ответ

Какой тип блокировки помещается в строку, которая обновляется в транзакции?

Если я запускаю транзакцию с уровнем изоляции "read uncommitted" в SQL Server, то я читаю и обновляю определенную строку, блокируется ли эта строка в силу того, что она является частью транзакции? Если другая транзакция (также с незафиксированным чт…
1 ответ

Уровень изоляции транзакции: установить уровень изоляции таблицы по-разному

Если я установлю уровень изоляции транзакции в READ_COMMITTED, могу ли я установить уровень изоляции таблицы по-другому, например, READ_UNCOMMITTED? Причина этого заключается в том, что изменения в таблице должны быть сразу видны другим транзакциям.…
0 ответов

Как установить уровень изоляции транзакции нет в MySQL?

Я хочу проверить проблемы изоляции транзакций: потерянное обновление. Как я могу сделать это в консоли MySQL. Я знаю следующее SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; Используя read uncommitted, я могу продемонстрировать, что он не…
0 ответов

InnoDB и уровни изоляции - не повторяется ли плохо?

Я читал о InnoDB's уровни изоляции и это имеет смысл по большей части, но то, что я не понимаю, почему unrepeatable reads плохо? Не должно ли быть наоборот? Например: Допустим, у нас был столбец запасов для продажи продуктов, и каждый раз, когда кто…