24.07.2006, 21:50 | #3 |
злыдень
|
Цитата:
Сообщение от ALEG
В блоге у Алексея Еременко можно прочитать про Optimistic Concurency check
http://blogs.msdn.com/aeremenk/default.aspx 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. |
|
|
|