|
|
|
COMMIT в окне-1 после "тяжелого DML" тормозит COMMIT в окне-2 (show sequ g; commit). Why ?
|
|||
|---|---|---|---|
|
#18+
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. Как такое может быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 14:05:09 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=105&tid=1563963]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 188ms |
| total: | 343ms |

| 0 / 0 |
