> > А что такое background gc по-твоему ?
>
> По моему это когда фоновый поток периодически
> проверяет все данные на предмет мусора.
Не угадал
> >>Можно предложит вариант с перерасчётом при commit, но отложенно
> >>в мусорщике.
> >
> >
> > Ты понимаешь причины застревания OIT ? А механизм его сдвига после
> > застревания ?
>
> Блин, у меня дикий своппинг в мозгу - вспомнить всё :-0
Зачем тогда эта беседа ?
> Застревает как я понимаю если сделат rollback.
Не каждый rollback к этому приводит.
> Чтобы сдивинуть
> потом нужно в TIP пометить эту транзакцию как commited, но
Не нужно
> при условии что версии из rollback транзакции почищены.
Тут правильно
> Это всё в свою очередь возможно если нет работающих
> snapshot транзакций запущенных _до_ старта rollback
> транзакции. Вот какая хренотень.
OIT не бывает выше OAT, так что это не в кассу
> Получается что основная проблема - это сборка версий
> старой rollback транзакции. Для этого надо пробегать
> все таблицы базы... либо .... Вообщем я пока пас :-|
Никаких либо - нужно читать всю БД, чем свип и занимается
> >>При том что задача в целом аналогична сборке мусора. И требуются
> >>примерно аналогичные решения.
> >
> >
> > Я тупой и не вижу аналогий
>
> Ну вместе со свипом пересчитывать статистику.
Статистика индекса - это значения всех ключей. Свип не читает все
индексы. Он даже не читает все версии всех записей. Так что - аналогия
только в фоновом выполнении. Но тогда можно сказать, что обновлять
статистику можно по-аналогии с cache_writer
> > Ибо статистика пока слабо пользуется оптимизатором.
>
> Достаточно чтобы похерить план :-)
> Основная проблема - пустая база создаётся из скрипта и
> бросается на произвол судьбы юзерам.
Maitenance со встроенным в ОС планировщиком не судьба делать ?
И никакого призвола со стороны юзеров :)
--
Хорсун Влад
PS Насчёт произвола юзеров из кода FB :
/**************************************
*
* g d s _ $ c r e a t e _ d a t a b a s e
*
**************************************
*
* Functional description
* Create a nice, squeeky clean database, uncorrupted by user data.
*
**************************************/
...
/**************************************
*
* g d s _ $ a t t a c h _ d a t a b a s e
*
**************************************
*
* Functional description
* Attach a moldy, grungy, old database
* sullied by user data.
*
**************************************/
:)))