powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / COMMIT в окне-1 после "тяжелого DML" тормозит COMMIT в окне-2 (show sequ g; commit). Why ?
1 сообщений из 1, страница 1 из 1
COMMIT в окне-1 после "тяжелого DML" тормозит COMMIT в окне-2 (show sequ g; commit). Why ?
    #38531795
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Никак не ожидал следующего.
Окно-1. Делает весьма увесистый DML:
SQL> insert into ts select mod(gen_id(g,1), 65535) from rdb$types,rdb$types,rdb$types,(select 1 i from rdb$types rows 6); commit; -- около 95 млн строк

Окно-2: периодически опрашивает значение генератора `g`, дабы видеть прогресс:
SQL> show sequ g; commit;
Generator G, current value is 2418055
SQL> show sequ g; commit;
Generator G, current value is 13951710
SQL> show sequ g; commit;
Generator G, current value is 16473669
. . .

Попутно работает трейс с отслежкой активности только окна-1.
Как только в трейсе появляется execute_statement_finish со статистикой, свидетельствующее о том, что далее в окне-1 начинается COMMIT, ввод в окне-2 очередного запроса: show sequ g; commit; - заклинивает в усмерть, пока в окне-1 не завершится фиксация транзакции. А фиксируется она там около 100 сек, так что всё видно очень отчётливо: сначала завершится окно-1, и только после этого будет показано текущее значение генератора в окне-2.

Как такое может быть ?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / COMMIT в окне-1 после "тяжелого DML" тормозит COMMIT в окне-2 (show sequ g; commit). Why ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]