Hello, Алексей!

Кравченко Алексей wrote:
факт в следующем...
1) допустим некоторая запись имеет 4000 версий и следовательно работа с ней
тормозит...

вовсе не "следовательно". хотя 4к версий одной записи - неплохо.

2) никакие транзакции не застревают (судя по статистике), тоесть все OAT,OIT
и тп близки к Next

версии и транзакции не так сильно связаны, как кажется. все зависит
от сборки мусора и чтения "заверсионированных" записей.

вопросы
1) почему столько версий у записи учитывая указанные 2 факта

sweep надо запустить.

2) почему даже sweep (ручной) не помогает

в ibanalyst, в хелпе, есть статья, в которой описаны ситуации.
если активных транзакций, которые удерживают эти версии нет,
то "мусор" должен собраться, если он является мусором.

3) считается ли оператор "select ... for update with lock"  ЧИТАЮЩЕЙ
операцией, которая должна приводить к сборке мусора

Привет, приплыли. С каких это пор select with lock стал ЧИТАЮЩИМ???
select with lock это комбинация из update+select, с тем же самым
генережом версий, что и при обычном update. Почитай release notes
даже на 1.5 и плюс к этому www.ibase.ru/devinfo/pslock.htm

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34


Ответить