|
Запрет обращения к таблице
|
|||
---|---|---|---|
#18+
Проблема такая. Есть очень большая таблица, которая через некоторые промежутки времени пересчитывается (обновляется) хранимыми процедурами. Во время таких пересчетов необходимо запретить пользователям любое обращение к этой таблице. Первая мысль была использовать Lock table in exclusive mode. Но в этом случае полное обновление таблицы делается в рамках одной транзакции, что приводит к переполнению лог.журналов. Как можно побороть проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 13:04 |
|
Запрет обращения к таблице
|
|||
---|---|---|---|
#18+
Смешались в кучу кони люди. Первая мьісль - правильная. Бритва Оккама работает. "Lock table in exclusive mode" и все. Количество транзакций не зависит от вида блокировки. Сервер им не управляет, логика по дроблению операций целиком на стороне хранимки или приложения. Переполнение лог.журналов можно бороть увеличением их количества-размера, либо параметрами onconfig, впрочем, от дефолтньіх как раз есть рекомендации по их изменению в худшую для вас сторону. LTXHWM 45 LTXEHWM 54 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 13:18 |
|
Запрет обращения к таблице
|
|||
---|---|---|---|
#18+
Element2Как можно побороть проблему? Еще варианты: 2. Можно отобрать права у других пользователей (revoke) 3. Можно временно переименовать таблицу, а если кому нужны данные создать вьюху read-only с аналогичным именем 4. Можно временно создать триггеры, выдающие эксепшн, если кто-то неавторизованный будет пытаться изменить данные ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 18:31 |
|
Запрет обращения к таблице
|
|||
---|---|---|---|
#18+
Element2, версия Informix какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2013, 15:07 |
|
Запрет обращения к таблице
|
|||
---|---|---|---|
#18+
DaugavaСмешались в кучу кони люди. Первая мьісль - правильная. Бритва Оккама работает. "Lock table in exclusive mode" и все. Количество транзакций не зависит от вида блокировки. Сервер им не управляет, логика по дроблению операций целиком на стороне хранимки или приложения. Daugava, я не понял твоих аргументов. Чтобы сделать блокировку. нужно начать транзакцию. Если начал транзакцию, все правки этой сессией будут идти в одной транзакции. О чём ТС и говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2013, 15:53 |
|
|
start [/forum/topic.php?fid=44&msg=38270326&tid=1607052]: |
0ms |
get settings: |
20ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
180ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 283ms |
0 / 0 |