powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как ускорить перенос данных из одной БД в другую?
33 сообщений из 33, показаны все 2 страниц
Как ускорить перенос данных из одной БД в другую?
    #39857010
Satans Claws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть задача: перенести некую таблицу из одной БД в другую.

На тестовом прогоне запрос
Код: sql
1.
2.
Insert Into База1.Таблица1 ([куча полей])
select [куча полей] from База2.Таблица1


сделал все, как полагается, но это заняло достаточно много времени.

Знаю про существование BULK INSERT, который имеет бОльшую скорость работы за счет того, что операция вставки не логируется. Но этот оператор, если я правильно понимаю, работает только с файлом на входе.

Внимание вопрос:
Есть ли способ ускорить необходимый мне перенос данных за счет отключения логирования (или конструкция Insert Into уже является нелогируемой операцией и быстрее ничего не сделаешь?)

Поскольку в База1 Таблица1 пустая, я её могу даже грохнуть и сделать
Код: sql
1.
select [куча полей] into База1.Таблица1 from База2.Таблица1 


а потом создать нужный индекс.
Будет ли это быстрее?
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857013
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте через Import Task.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857019
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Satans ClawsПоскольку в База1 Таблица1 пустая, я её могу даже грохнуть и сделать
Код: sql
1.
select [куча полей] into База1.Таблица1 from База2.Таблица1 


а потом создать нужный индекс.
Будет ли это быстрее?
будет, если модель простая или bulk_logged
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857085
OBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OBG
Гость
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857118
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGSatans Claws,
Заблокируйте таблицу (с помощью TABLOCK): https://docs.microsoft.com/ru-ru/sql/relational-databases/import-export/prerequisites-for-minimal-logging-in-bulk-import?view=sql-server-2017
и что?
1. если у него полная модель, то все равно полное логирование обеспечено
2. он написал, на таблице есть индекс.
вот тут правильная таблица: The Data Loading Performance Guide
сходите и убедитесь, что одного таблока точно не хватит,
как минимум нужен TF610,
но по личному опыту: и с флагом тоже при имеющемся индексе будет полное логирование
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857286
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123вот тут правильная таблица: The Data Loading Performance Guide


Там показания сильно несогласованы.

Additionally, a bulk load operation will be minimally logged even without the trace flag when both of the following conditions are true:
•A WITH (TABLOCK) hint is specified on the target table
•The target table is empty
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857295
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222Yasha123вот тут правильная таблица: The Data Loading Performance Guide


Там показания сильно несогласованы.

Additionally, a bulk load operation will be minimally logged even without the trace flag when both of the following conditions are true:
•A WITH (TABLOCK) hint is specified on the target table
•The target table is empty
что не так-то?
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857304
OBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OBG
Гость
Вот тут http://www.t-sql.ru/post/min_logged_with_full_recovery.aspx есть пример, разница во времени выполнения запросов с TABLOCK и без составляет 25% в базе данных с режимом восстановления FULL.
У меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):
Код: sql
1.
2.
3.
4.
5.
 SQL Server Execution Times:
   CPU time = 4110 ms,  elapsed time = 8804 ms.

 SQL Server Execution Times:
   CPU time = 9641 ms,  elapsed time = 33096 ms.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857315
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGВот тут http://www.t-sql.ru/post/min_logged_with_full_recovery.aspx есть пример, разница во времени выполнения запросов с TABLOCK и без составляет 25% в базе данных с режимом восстановления FULL.
У меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):
Код: sql
1.
2.
3.
4.
5.
 SQL Server Execution Times:
   CPU time = 4110 ms,  elapsed time = 8804 ms.

 SQL Server Execution Times:
   CPU time = 9641 ms,  elapsed time = 33096 ms.


чукча не читатель?
у ТС на таблице индекс.
а в этом примере нет.
ну навесьте индекс и заново проверьте
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857317
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGВот тут http://www.t-sql.ru/post/min_logged_with_full_recovery.aspx есть пример, разница во времени выполнения запросов с TABLOCK и без составляет 25% в базе данных с режимом восстановления FULL.
У меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):
Код: sql
1.
2.
3.
4.
5.
 SQL Server Execution Times:
   CPU time = 4110 ms,  elapsed time = 8804 ms.

 SQL Server Execution Times:
   CPU time = 9641 ms,  elapsed time = 33096 ms.


да и ваша "полная модель" вызывает сомнения.
база тестовая?
бэкап делали?
липой попахивает
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857330
OBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OBG
Гость
Yasha123OBGВот тут http://www.t-sql.ru/post/min_logged_with_full_recovery.aspx есть пример, разница во времени выполнения запросов с TABLOCK и без составляет 25% в базе данных с режимом восстановления FULL.
У меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):
Код: sql
1.
2.
3.
4.
5.
 SQL Server Execution Times:
   CPU time = 4110 ms,  elapsed time = 8804 ms.

 SQL Server Execution Times:
   CPU time = 9641 ms,  elapsed time = 33096 ms.


чукча не читатель?


Это вы про себя?

Код: sql
1.
2.
3.
у ТС на таблице индекс.
а в этом примере нет.
ну навесьте индекс и заново проверьте



ТС пишет, что может удалить не только индекс, но и таблицу:
Код: sql
1.
2.
3.
4.
Поскольку в База1 Таблица1 пустая, я её могу даже грохнуть и сделать 
select [куча полей] into База1.Таблица1 from База2.Таблица1 

а потом создать нужный индекс.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857333
OBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OBG
Гость
Yasha123OBGВот тут http://www.t-sql.ru/post/min_logged_with_full_recovery.aspx есть пример, разница во времени выполнения запросов с TABLOCK и без составляет 25% в базе данных с режимом восстановления FULL.
У меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):
Код: sql
1.
2.
3.
4.
5.
 SQL Server Execution Times:
   CPU time = 4110 ms,  elapsed time = 8804 ms.

 SQL Server Execution Times:
   CPU time = 9641 ms,  elapsed time = 33096 ms.


да и ваша "полная модель" вызывает сомнения.
база тестовая?
бэкап делали?
липой попахивает

По ссылке тяжело перейти? Там все написано
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857338
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторУ меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):

ага, ещё лог урезать в минимум и вообще можно не нарадоваться
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857347
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGТС пишет, что может удалить не только индекс, но и таблицу:
Код: sql
1.
2.
3.
4.
Поскольку в База1 Таблица1 пустая, я её могу даже грохнуть и сделать 
select [куча полей] into База1.Таблица1 from База2.Таблица1 

а потом создать нужный индекс.


ТС-то пишет, а вы -- НЕТ.
вы ему советуете голый таблок.

вот вам репро с голым таблоком в присутствии индекса,
с таблицами из той самой ссылки,
которую типа мне надо открыть:
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857351
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKавторУ меня в этом же примере разница составила почти 4 раза (предварительно увеличил базу до необходимого размера, данные в кэш загрузил):

ага, ещё лог урезать в минимум и вообще можно не нарадоваться
разница в 4 раза это простая модель в явном виде.
типа перевел базу в полную, бэкап сделать "забыл".
его в явном виде спрашиваешь про бэкап, а в ответ "сам чукча"
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857366
OBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OBG
Гость
Кластерный индекс по val varchar(255)?

Модератор: Божественное вложение от мастера скриншотов удалено.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857380
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGКластерный индекс по val varchar(255)?

Модератор: Божественное вложение от мастера скриншотов удалено.
какой индекс?
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857388
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OBGКластерный индекс по val varchar(255)?

Модератор: Божественное вложение от мастера скриншотов удалено.
не знаю, какой индекс был у оппонента,
мои индексы некластерные,
это ежику понятно,
ибо если неоговорено противное, индекс дефолтно создается некластерным:
BOLIf not otherwise specified, the default index type is NONCLUSTERED.
CREATE INDEX (Transact-SQL)
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857408
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в целях завершения дебатов
+ специально для чукчи
повторяю ровно тот самый эксперимент,
что описан по ссылке (см. картинку), без индексов

как видим, никакой разницы в 4 раза нет.
есть те самые 25% экономии по времени,
о которых пишет Князев.

так что

1. привет тем, кто переводит в полную модель без полного бэкапа.
мои поздравления, база ни в какой не в полной модели, она в pseudo simple.
иначе не видать вам приращения скорости в 4 раза.

2. Князев же показал, что базу можно восстановить на произвольный момент времени.
так что никакого минимального логирования в полной модели нет и быть не может.

полная модель -- это такая модель,
при кототрой записи лога позволяют полностью восстановить операцию.
ну так ушедшее в лог при инсерте с таблоком содержит все данные,
потому и возможно восстановление.
это никакое не allocation page, allocation page,..., пустышки, которые только для роллбэка и нужны.

то, о чем тут речь, зовется efficiently logged operation.
когда не построчно записи в лог валятся, а страницы целиком со всем своим содержимым .
еще раз: не пустышки, а страницы целиком

P.S: то, что Князев там пишет про truncate table, извините, неверно,
это тоже полностью логируемая операция,
просто она тоже "эффективно" логируется:
Minimal Logging
RandalTRUNCATE TABLE is not a minimally-logged operation. It's logged exactly the same way in all recovery models. It's fully logged, but very efficiently logged, including using the deferred-drop mechanism.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857414
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и вот выхлоп из лога от последнего кода,
запущенного после бэкапа лога.
видно, что операций типа LOP_FORMAT_PAGE
в 14 раз меньше, чем LOP_INSERT_ROWS
(других операций в контексте кучи просто нет)
это потому, что на страницу влазят 14 записей вида int + varchar(255),
полностью забитыx 255 символами.

надеюсь, всем видно, что страницы ушли в лог вместо строк,
когда делался инсерт с таблоком.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857518
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многопоточно через SSIS в пустую и без индексов таблицу-приемник
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857662
Satans Claws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123разница в 4 раза это простая модель в явном виде.
типа перевел базу в полную, бэкап сделать "забыл".


Сорри за оффтоп (я автор, мне можно :D ), но можно с этого момента подробнее?
Я правильно понимаю, что, поскольку в FULL-модели восстановления лог содержит информацию о всех транзакциях с момента последнего бэкапа - то пока бэкапа не будет, логу нет стартовой точки, чтоб начать хранить эту информацию (соответственно, в лог ничего не пишется).
Обратный переход (FULL -> SIMPLE) применяется сразу?
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857686
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Satans ClawsYasha123разница в 4 раза это простая модель в явном виде.
типа перевел базу в полную, бэкап сделать "забыл".


Сорри за оффтоп (я автор, мне можно :D ), но можно с этого момента подробнее?
Я правильно понимаю, что, поскольку в FULL-модели восстановления лог содержит информацию о всех транзакциях с момента последнего бэкапа - то пока бэкапа не будет, логу нет стартовой точки, чтоб начать хранить эту информацию (соответственно, в лог ничего не пишется).
Обратный переход (FULL -> SIMPLE) применяется сразу?Почти так, только проблема не в бекапе лога (в который попадает весь лог с предыдущего бекапа лога), а в его последующем восстановлении, которое не возможно без восстановления полного бекапа. И пока не сделан полный бекап, нет смысла и в полной моделе.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857725
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123efficiently logged operation
А не встречался ли вам какой-нибудь список условий, при которых включается "постраничное" логирование?
По какой-то неясно для меня причине, он не совпадает с условиями минимпльного логирование?
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857745
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexYasha123efficiently logged operation
А не встречался ли вам какой-нибудь список условий, при которых включается "постраничное" логирование?
По какой-то неясно для меня причине, он не совпадает с условиями минимпльного логирование?
мне не встречался,
но из соображений здравого смысла:

если идет вставка с таблоком и в кучу(пустую или нет неважно),
таблица эксклюзивно блокирована и никто другой вставить не может за все время вставки.
отсюда вывод:
данные будут вставляться страницами.
мы валим все подряд и нет никаких причин вставлять их куда-то в середину(т.е. построчно)
-> будет логироваться постранично.

если вставка в кластерный с tablock и order by таблица пуста, все ровно то же самое,
мы валим точно в конец, т.е. пишем новые целые страницы подряд.
будет логироваться постранично.

ну а вставка в непустой кластерный, хоть бы и отсортированный набор вставляем,
может оказаться вставкой вперемежку с уже имеющимся, простейший пример:
уже вставлены нечетные числа, а теперь свтавляем четные, хоть бы и упорядоченные.
все равно вставка пойдет в уже имеющиеся страницы.
вывод: постраничного логирования не будет, только построчное

т.е. на первый взгляд все те же условия, что и для минимального логирования в simple и bulk logged.
у вас есть примеры, когда не так?

думаю, еще есть ограничение на объем.
если строк мало, будет построчно в любой модели
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857756
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Satans ClawsYasha123разница в 4 раза это простая модель в явном виде.
типа перевел базу в полную, бэкап сделать "забыл".


Сорри за оффтоп (я автор, мне можно :D ), но можно с этого момента подробнее?
Я правильно понимаю, что, поскольку в FULL-модели восстановления лог содержит информацию о всех транзакциях с момента последнего бэкапа - то пока бэкапа не будет, логу нет стартовой точки, чтоб начать хранить эту информацию (соответственно, в лог ничего не пишется).
Обратный переход (FULL -> SIMPLE) применяется сразу?

да, хорошее объяснение.
нет смысла писать лог, когда нет начальной точки.
ее нельзя взять с потолка,
не имея затронутого изменениями куска данных.
имея такой лог, ничего откатить нельзя,
ведь начатые на момент перевода в полную модель транзакции откатить будет невозможно,
лог с записями о них мог перезаписаться,
а файл данных на этот момент не забэкаплен.

про обратный переход тоже верно,
просто дается сигнал логу не удерживать более записи для бэкапа лога
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857801
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123msLexпропущено...

А не встречался ли вам какой-нибудь список условий, при которых включается "постраничное" логирование?
По какой-то неясно для меня причине, он не совпадает с условиями минимпльного логирование?
мне не встречался,
но из соображений здравого смысла:

если идет вставка с таблоком и в кучу(пустую или нет неважно),
таблица эксклюзивно блокирована и никто другой вставить не может за все время вставки.
отсюда вывод:
данные будут вставляться страницами.
мы валим все подряд и нет никаких причин вставлять их куда-то в середину(т.е. построчно)
-> будет логироваться постранично.

если вставка в кластерный с tablock и order by таблица пуста, все ровно то же самое,
мы валим точно в конец, т.е. пишем новые целые страницы подряд.
будет логироваться постранично.

ну а вставка в непустой кластерный, хоть бы и отсортированный набор вставляем,
может оказаться вставкой вперемежку с уже имеющимся, простейший пример:
уже вставлены нечетные числа, а теперь свтавляем четные, хоть бы и упорядоченные.
все равно вставка пойдет в уже имеющиеся страницы.
вывод: постраничного логирования не будет, только построчное

т.е. на первый взгляд все те же условия, что и для минимального логирования в simple и bulk logged.
у вас есть примеры, когда не так?

думаю, еще есть ограничение на объем.
если строк мало, будет построчно в любой модели
Здравый смысл мне тоже подсказывает, что постраничное логирование должно происходить при тех же условиях, что и минимальное (с разницей лишь в модели восстановления), но...
Я проводил небольшие эксперименты, с целью понять в каких случаях происходит постраничное логирование.
За основу брал вот эти условия по минимальному логирования. У меня получалось, что постраничное логирование включается только в двух или трех случаях из указанных.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857815
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Я проводил небольшие эксперименты, с целью понять в каких случаях происходит постраничное логирование.
За основу брал вот эти условия по минимальному логирования. У меня получалось, что постраничное логирование включается только в двух или трех случаях из указанных.

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

на картинке: зеленым то, что соответствует минимальному
или постраничному логированию (в зависимости от модели)
красным: в это я не верю, см. рассуждение выше.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857825
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и 2 строки под красным тоже подозрительны.
вставка в непустой кластер хоть с таблоком хоть без
невозможно минимально логировать.
почему именно постранично-то пойдет,
может, как раз вставится среди имеющегося(см.пример чет-нечет)
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857850
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123да и 2 строки под красным тоже подозрительны.
вставка в непустой кластер хоть с таблоком хоть без
невозможно минимально логировать.
почему именно постранично-то пойдет,
может, как раз вставится среди имеющегося(см.пример чет-нечет)


С 2016 TF610 стал работать по умолчанию, и если глянуть на вашу таблицу (но в соседний столбик), то таблицы совпадут.

PS
Ваша табличка из ссылки на SQL 2008
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857862
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123вставка в непустой кластер хоть с таблоком хоть без
невозможно минимально логировать.Inside Microsoft® SQL Server® 2008: T-SQL QueryingSQL Server 2008 also introduces support for minimal logging when inserting data into a
nonempty B-tree (clustered or nonclustered index). Minimal logging is used when inserting
new key ranges that allocate and populate new pages while TF-610 is on regardless of
whether the TABLOCK hint is specifi ed. For those new key ranges, SQL Server internally takes
key-range locks to ensure that other processes don’t run confl icting activities.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857866
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexС 2016 TF610 стал работать по умолчанию, и если глянуть на вашу таблицу (но в соседний столбик), то таблицы совпадут.

понятно.
не было возможности тестировать на 2016-ом,
он у меня хоть и стоит локально, руки не доходят.
рабочий сервер 2014,
и на нем у меня включен TF610.
ну что могу сказать.
у меня нет куч и нет пустых таблиц.
а вставка в непустой кластер + индекс всегда логируется полностью
(у нас простая модель),
так что не Depends, а постоянное полное логирование.
причем не только в индекс, а даже в сам кластерный.
это даже при том, что у них тут кластерный везде и всюду по id identity,
и любая вставка с таблоком это гарантированные новые страницы в конец таблицы

это на тестовом.
в прод у меня таблок не пошел вообще,
т.к. выигрыша по времени никакого,
а блокировать остальных нехорошо.
...
Рейтинг: 0 / 0
Как ускорить перенос данных из одной БД в другую?
    #39857869
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmYasha123вставка в непустой кластер хоть с таблоком хоть без
невозможно минимально логировать.Inside Microsoft® SQL Server® 2008: T-SQL QueryingSQL Server 2008 also introduces support for minimal logging when inserting data into a
nonempty B-tree (clustered or nonclustered index). Minimal logging is used when inserting
new key ranges that allocate and populate new pages while TF-610 is on regardless of
whether the TABLOCK hint is specifi ed. For those new key ranges, SQL Server internally takes
key-range locks to ensure that other processes don’t run confl icting activities.
ну он может и introduces,
только у меня inserting data into a nonempty B-tree (clustered or nonclustered index) логирует полностью
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как ускорить перенос данных из одной БД в другую?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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