|
|
|
логируется ли Add column ASE 12.5.x
|
|||
|---|---|---|---|
|
#18+
Возник такой вопрос: В доках указан список операций DDL которые вызывают копирование данных и следовательно, по умолчанию, массированное заполнение лога, в случае большого кол-ва записей. Add column в этом списке нет. Однако, что будет если в таблицу скажем с миллионом добавить столбец с identity? Будет ли по умолчанию логироваться все значения identity для этого поля? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 17:56 |
|
||
|
логируется ли Add column ASE 12.5.x
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > В доках указан список операций DDL которые вызывают копирование данных и > следовательно, по умолчанию, массированное заполнение лога, в случае > большого кол-ва записей. > > Add column в этом списке нет. Однако, что будет если в таблицу скажем с > миллионом добавить столбец с identity? ADD COLUMN может быть двух видов -- требующий физического пересоздания таблицы и не требующий. Если новая колонка - NULL, то она просто создается в каталоге таблицы, идет в ее конец и ничего модиФицировать не надо. Если она NOT NULL (при этом она должна обязательно иметь DEFAULT), то таблица физически перезаписывается. Но при этом, насколько я помню, используются внутренние аналоги механизма Bulk copy, т.е. при этом логируется только выделение места под новый вариант таблицы и удаление старой. Сами данные - нет. Но все равно такой ALTER большой таблицы -- это большая нагрузка на лог, к этому надо быть готовым. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 18:26 |
|
||
|
логируется ли Add column ASE 12.5.x
|
|||
|---|---|---|---|
|
#18+
MasterZiv Kru пишет: > В доках указан список операций DDL которые вызывают копирование данных и > следовательно, по умолчанию, массированное заполнение лога, в случае > большого кол-ва записей. > > Add column в этом списке нет. Однако, что будет если в таблицу скажем с > миллионом добавить столбец с identity? ADD COLUMN может быть двух видов -- требующий физического пересоздания таблицы и не требующий. Если новая колонка - NULL, то она просто создается в каталоге таблицы, идет в ее конец и ничего модиФицировать не надо. Если она NOT NULL (при этом она должна обязательно иметь DEFAULT), то таблица физически перезаписывается. Но при этом, насколько я помню, используются внутренние аналоги механизма Bulk copy, т.е. при этом логируется только выделение места под новый вариант таблицы и удаление старой. Сами данные - нет. Но все равно такой ALTER большой таблицы -- это большая нагрузка на лог, к этому надо быть готовым. Posted via ActualForum NNTP Server 1.4 Наверное минимизировать логирование при помощи select into/bulkcopy/pllsort тогда не получится, т.к. логируются не данные а разные системные изменения. Если я правильно всё понял, то в случае необходимости добавления нового столбца Not null, потребуется запастись логовым пространством. Большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 19:28 |
|
||
|
|

start [/forum/topic.php?fid=55&gotonew=1&tid=2011802]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
638ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 940ms |

| 0 / 0 |
