Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ddl in tran / 6 сообщений из 6, страница 1 из 1
19.11.2007, 17:53
    #34949847
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
Отцы,
подскажите пожалуйста в каких случаях имеет смысл использовать ddl in tran, т.е. выполнять разные модификации таблиц в рамках транзакции.

Заранее спасибо
...
Рейтинг: 0 / 0
19.11.2007, 17:57
    #34949865
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
Забыл указать что вопрос для ASE 12.5.x
...
Рейтинг: 0 / 0
19.11.2007, 18:20
    #34949954
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
Kru пишет:
> Отцы,
> подскажите пожалуйста в каких случаях имеет смысл использовать ddl in
> tran, т.е. выполнять разные модификации таблиц в рамках транзакции.

Лучше не использовать это дело.
DDL всегда лочит системные таблицы, если оно еще и во внешней транзакции,
то может быть непредсказуемо долго.
Особого смысла нет.

Единственный случай, на мой взгляд, когда это оправдано - это использование
временных таблиц при условии что транзакция уже начата. Т.е. какой-то модуль,
достаточно независимый от всего остального, который должен встроиться в большую
транзакцию, и ему надо использовать временную таблицу.
Другой вопрос о нужности здесь использования временных таблиц, но это уже не важно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.11.2007, 19:35
    #34950121
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
MasterZiv
Kru пишет:
> Отцы,
> подскажите пожалуйста в каких случаях имеет смысл использовать ddl in
> tran, т.е. выполнять разные модификации таблиц в рамках транзакции.

Лучше не использовать это дело.
DDL всегда лочит системные таблицы, если оно еще и во внешней транзакции,
то может быть непредсказуемо долго.
Особого смысла нет.

Единственный случай, на мой взгляд, когда это оправдано - это использование
временных таблиц при условии что транзакция уже начата. Т.е. какой-то модуль,
достаточно независимый от всего остального, который должен встроиться в большую
транзакцию, и ему надо использовать временную таблицу.
Другой вопрос о нужности здесь использования временных таблиц, но это уже не важно.
Posted via ActualForum NNTP Server 1.4

Я насколько лочится сама таблица. Скажем если добавляется новый столбец с identity, то будет ли таблица полностью заблокирована (никаких insert/update/delete) до конца операции.

Идея использования ddl in tran возникла из-за неуверенности, что просто alter table полностью заблокирует таблицу. Выполняя эту операцию в транзакции можно явно задать (в данном случае наверное тольео повысить) уровень блокировки.
...
Рейтинг: 0 / 0
19.11.2007, 20:54
    #34950228
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
Я насколько лочится сама таблица. Скажем если добавляется новый столбец с identity, то будет ли таблица полностью заблокирована (никаких insert/update/delete) до конца операции.

Любая таблица лочится для DDL эксклюзивно. Если при этом это происходит в multi-statement транзакции, то до конца этой транзакции, естественно.

Идея использования ddl in tran возникла из-за неуверенности, что просто alter table полностью заблокирует таблицу.

Заблокирует, уж не беспокойся...

Выполняя эту операцию в транзакции можно явно задать (в данном случае наверное тольео повысить) уровень блокировки.

Нет, для этого применять multi-statement транзакции с DDL безполезно, таблица лочится и так.
...
Рейтинг: 0 / 0
19.11.2007, 21:31
    #34950270
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ddl in tran
MasterZivЯ насколько лочится сама таблица. Скажем если добавляется новый столбец с identity, то будет ли таблица полностью заблокирована (никаких insert/update/delete) до конца операции.

Любая таблица лочится для DDL эксклюзивно. Если при этом это происходит в multi-statement транзакции, то до конца этой транзакции, естественно.

Идея использования ddl in tran возникла из-за неуверенности, что просто alter table полностью заблокирует таблицу.

Заблокирует, уж не беспокойся...

Выполняя эту операцию в транзакции можно явно задать (в данном случае наверное тольео повысить) уровень блокировки.

Нет, для этого применять multi-statement транзакции с DDL безполезно, таблица лочится и так.

Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ddl in tran / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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