Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 insert into table1 (id) select id from table2  [new]
sunches
Member

Откуда:
Сообщений: 196
Подскажите, как оптимально организовать массовую вставку данных в таблицу, чтобы не росли логи?

Я не спец в T-sql. В конструкции insert into table1 (id) select id from table2
все данные в одной транзакции?
24 янв 13, 15:50    [13822425]     Ответить | Цитировать Сообщить модератору
 Re: insert into table1 (id) select id from table2  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вставлять порциями. В разных транзакциях.
24 янв 13, 15:53    [13822457]     Ответить | Цитировать Сообщить модератору
 Re: insert into table1 (id) select id from table2  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/03/06/minimal-logging-changes-in-sql-server-2008-part-1.aspx
24 янв 13, 16:08    [13822601]     Ответить | Цитировать Сообщить модератору
 Re: insert into table1 (id) select id from table2  [new]
sunches
Member

Откуда:
Сообщений: 196
В pl/sql я написал бы неявный курсор и выполнял бы commit после каждой вставки:

for
C
(
select
id from table1
)
(
insert into table2 ...
commit;
)

Есть ли аналогичная конструкция в T-sql? Совсем некогда изучать T-sql. Если не трудно - приведите пример, пож
24 янв 13, 16:15    [13822640]     Ответить | Цитировать Сообщить модератору
 Re: insert into table1 (id) select id from table2  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
sunches
Есть ли аналогичная конструкция в T-sql? Совсем некогда изучать T-sql. Если не трудно - приведите пример, пож
Ищите поиском, на форуме примеров навалом.
24 янв 13, 16:17    [13822658]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить