Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Вопрос по транзакциям  [new]
Swv
Member

Откуда:
Сообщений: 126
Здравствуйте.
Теоретическая ситуация.

Допусти стартовала транзакция и в ней insert . Длится 10 секунд. Миллион записей.Потом commit

На второй секунде стартует транзакция вторая . В ней тяжёлый select. Длится 20 секунд.
Теоретически вторая не увидит то, что первая вставляет. Тк первая не закомичена

Вторая (стэйтмент) не увидит данные первой в течении 8 секунд своего выполнения.
На 11 секунде выполнения запроса все данные первой транзакции вставлены и закомичены. Теоретически на 11 секунде после commit первой транзакции вторая должна бы увидеть часть вставленных данных.
Собственно обработает ли второй запрос часть вставленных первой транзакцией данных?
5 апр 19, 13:57    [21854018]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по транзакциям  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47677

Swv
Собственно обработает ли второй запрос часть вставленных первой транзакцией данных?

Зависит от уровня изоляции транзакции в которой он выполняется, версии сервера, его плана
и фазы Луны.

Posted via ActualForum NNTP Server 1.5

5 апр 19, 14:03    [21854026]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по транзакциям  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28015
Swv
Собственно обработает ли второй запрос часть вставленных первой транзакцией данных?

в read committed до ФБ 4.0 - да. В RC ФБ 4.0 - нет.
5 апр 19, 14:06    [21854031]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по транзакциям  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30037

read committed придумали для охмурения ламеров!

Posted via ActualForum NNTP Server 1.5

5 апр 19, 15:24    [21854134]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по транзакциям  [new]
Roman Simakov
Member

Откуда: Муром
Сообщений: 283
В снапшотной изоляции нет. В Read Committed, как уже сказали увидит, если ФБ 3.0 и ниже. В 4.0 будет аналогично снапшоту, но на момент запроса. Повторное выполнение селекта в той же транзакции уже увидит вставленные данные.
5 апр 19, 17:11    [21854285]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить