Показать сообщение отдельно
Старый 24.07.2006, 21:50   #3  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от ALEG
В блоге у Алексея Еременко можно прочитать про Optimistic Concurency check
http://blogs.msdn.com/aeremenk/default.aspx
Не могли бы Вы объяснить в 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: Заранее извиняюсь за дилетантсткие вопросы. Если можно - для бестолковых ответьте, а то я спать не буду спокойно..
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/

Последний раз редактировалось Recoilme; 24.07.2006 в 22:27.