Не могли бы Вы объяснить в 2 словах суть происходящего??
1. Вроде как версионность в общем случае подразумевает хранение версий записей, т.е. их много, а в статье речь идет, насколько я понял о хранении номера ОДНОЙ последней транзакции изменившей запись??
Ссылка:
http://ibase.ru/devinfo/mga.htm
2. Вроде как уровень изоляции snapshot который необходимо включить не видит изменений после него, т.е. работает с теми транзакциями кот были на момент старта даже несмотря на то что они могли быть удалены??? Т.е. это уровень подходящий для отчетов а не для OLTP системы, разве нет??
http://ibase.ru/devinfo/ibtrans.htm
3. Есть также возможность использования уровня изоляции READ UNCOMMITED для всех запросов на чтение - Т.е. все запросы вместо реад коммитед будут читать реад анкомиттед ??? Но позвольте, там же один мусор??
4. "Для поддержки OCC (а именно для обработки версий записей), в Kernel Rollup появилось поле RecVersion."
Почему версионность не на уровне СУБД реализована а на уровне приложения??? Это же жуткие тормоза?!?! Или СУБД требует наличия этого поля для любых приложений??
5.
Цитата:
Если код написан неоптимально, транзакция длится часами, то, чтобы не оптимизировал и не предлагал вендор со стороны ядра - большого выигрыша не достичь. Пишите оптимальный код, следите за селективностью создаваемых индексов...
Золотые слова!!
PS: Заранее извиняюсь за дилетантсткие вопросы. Если можно - для бестолковых ответьте, а то я спать не буду спокойно..