powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sorry, еще раз про версионность
8 сообщений из 8, страница 1 из 1
Sorry, еще раз про версионность
    #32016638
Dmitriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В хелпе MsSql написано, да и сам тесты гонял, и здесь подтвердили,что при транзакции
данные захватываются монопольно.те возможности их просто прочитать (старую версию) нет
Грязное чтение не подходит
Если транзакция длительная, то проблема становиться очень критичной
В IB версионность поддерживается
Кто-нибудь сталкивался с подобной проблемой и КАК ОН ЕЕ ОБХОДИЛ ?
МНЕ КАЖЕТСЯ , ЧТО ЭТА ПРОБЛЕМА ОЧЕНЬ КРИТИЧНА ДЛЯ ЛЮБОГО ПРИЛОЖЕНИЯ
Те при длинной транзакции никто не сможет даже отчет получить
Не дайте пропасть, где копать ???
Разработка ведется на
MsSql2000 MDAC2.6 Vb6 Sp5
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016639
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На примере покажите почему транзакция длительная?
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016641
Все это решается применением временных таблиц. Как применяется - зависит от конкретного случая, всякий раз по-разному. Кидай пример - будет конкретика.
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016643
Dmitriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тестовые примеры.
Один из примеров - прием рейса платежей, где принимаются или все , или ничего
(насколько я читал- свойство транцакции Atomicity)
Те если разбить рейс на платежи, и платеж=транцакция,при отчете можно увидеть
данные, которые уже обработаны, но потом рейс не принят, и данные не корректны
Затрагиваются таблицы типа остатки,движения,документы,состояния документов итд итп
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016646
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно не очень понятно. Почему если транзакция должна быть на уровне рейса у Вас происходит шевеление таблицами остатки,движения,документы,состояния документов.
Разве нельзя провести рейс в одной транзакции, а затем следующей поправить остатки,движения,документы,состояния документов?
И насколько велик этот рейс?
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016647
Dmitriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажем так.Ситуация такая, что НУЖНА большая транзакция, и обйти это никак низя
Как с помошью времянок обойти эту проблему ?
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016649
В такой ситуации, когда необходимы большие изменения одновременно по нескольким таблицам, очень хорошо помогает организация логики приложения и базы, когда для любого типа изменения требуются только операции INSERT. Практически всегда это реализуемо. В этом случае все предыдущее состояние читаемо, а заблокированы только новые вставляемые данные, которые до окончания изменения читать и не нужно. Кстати, реализация такой логики помогает легко организовать "исторические поля", когда можно узнать состояние на любой предыдущий период.
Это не панацея, всего лишь один из приемов.
В любом случае, необходимо сводить транзакцию к минимуму, вынося код, который только можно, за пределы транзакции. Например, расчет остатков произвести до начала транзакции, засунуть их во времянку, а внутри транзакции уже только обновить таблицу остатков, ранее расчитанные, взяв их из времянки.
...
Рейтинг: 0 / 0
Sorry, еще раз про версионность
    #32016650
Хотя на вопрос о времянках я уже наглядно ответил в конце своего предыдущего опуса, замечу еще.
Использование времянок помогает организовать повторяемое чтение без блокирования. Т.е. вначале считываешь то, что нужно во времянку, а потом используешь стоко, скоко хочешь раз. И оно гарантировано не изменится никем другим (мы говорим о локальных времянках). Значит, повторяемое считывание достигнуто. А блокировок нет. Это уже достаточная пища для размышлений в данном контексте, поэтому не вижу смысла (пока) говорить еще что-то.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sorry, еще раз про версионность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]