Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вставлять пачками  [new]
beg_inner
Guest
подскажите пожалуйста.
никогда не перегоняла большие объемы из одной таблицы в другую.
сегодня начальница причитала, что в очередной раз закончился лог и встала ночная процедура,
переписывающая данные из одной таблицы в другую, 14 гигов таблица(наверное. потому что до 14 гиг и вырос лог).
посмотрела код, там просто
truncate t2;
 insert into t2 select * from t1;
.
модель восстановления Simple.
как такое дело по уму проделать?
пока в голову приходит пронумеровать и вставлять пачками.
т.к. наверняка изобретаю велосипед, хочу спросить: нумеровать это же по-любому сортировать, уже плохо.
и какой размер дать пачке?
а вообще, наверное как-то проще делается, где почитать?
ищу на "массовую вставку" в гугле, получаю BULK INSERT.
но мне не надо из внешнего источника.
дайте плиз ссылку на как по-человечески из одной таблицы в другую записать
16 дек 11, 20:04    [11780317]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
модель симпл - вставляте небольшими кусками...не нужно тянуть ОДНУ большую транзакцию...не удивительно, что вы лог "убиваете"
16 дек 11, 20:17    [11780363]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
beg_inner
Guest
ну а я про что.
хочу переписать это добро, убиваю не я, написано до меня.
но чтобы все записи вставить, надо же перенумеровать, или как еще можно?
я думала в цикле, по 1000 или сколько надо, 10000? записей.
потому и спросила, сколько посоветуете за раз вставлять
16 дек 11, 22:08    [11780694]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
beg_inner
спросила, сколько посоветуете за раз вставлять
Ктож знает, какая у вас таблица???

Если 14 гигов это 14 строк, то лучьше по одной строке.
16 дек 11, 22:09    [11780699]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
beg_inner
Guest
alexeyvg,

нет, там несколько миллионов строк, таблица не моя и не знаю даже, разрешат ли переписать, пока написали в контору, которая адмонистрирует, чтоб лог увеличили, я больше для себя спрашиваю, если попросят написать подобную вставку, чтоб не делать как было. если это 20 000 строк, то по сколько лучше вставлять?
16 дек 11, 23:03    [11780917]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5115
beg_inner,
если версия сервера позволяет посмотрите в сторону массовой вставки с неполным протоколированием через insert into ... select
16 дек 11, 23:20    [11781018]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
beg_inner
20 000 строк, то по сколько лучше вставлять?

а сколько занимате одна строка? а какой объём лога можно безболезненно съесть?
ответы на эти вопросы и будут ответом на ваш вопрос
16 дек 11, 23:22    [11781025]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
beg_inner
Guest
Дедушка
beg_inner,
если версия сервера позволяет посмотрите в сторону массовой вставки с неполным протоколированием через insert into ... select

совсем не поняла. там и так
insert into ... select
,
и зачем переводить базу в bulk logged, если она уже в simple???
17 дек 11, 01:24    [11781358]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
beg_inner
Guest
Knyazev Alexey
beg_inner
20 000 строк, то по сколько лучше вставлять?

а сколько занимате одна строка? а какой объём лога можно безболезненно съесть?
ответы на эти вопросы и будут ответом на ваш вопрос

ок, посмотрю, сколько занимает строка. ну а сколько надо-то в мегабайтах за раз писать?
а про лог, видимо 13 гиг за раз можно, раз на 13 не остановилось, а на 14 уже приехали.
но наверное же это неприлично, по 13 гиг за раз?
17 дек 11, 01:28    [11781371]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
beg_inner
но наверное же это неприлично, по 13 гиг за раз?
Вам говорят - зависит от версии сиквела. Я вставляю по миллиарду строк за раз (~100 гигов).
18 дек 11, 14:25    [11784616]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
FIL_ALEX
Member

Откуда:
Сообщений: 2
alexeyvg, а сколько занимает времени вставка и что делал, для оптимизации?
19 дек 11, 18:04    [11791335]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
FIL_ALEX
и что делал, для оптимизации?

http://msmvps.com/blogs/gladchenko/archive/2010/03/09/1761298.aspx
19 дек 11, 18:31    [11791497]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
FIL_ALEX
alexeyvg, а сколько занимает времени вставка
минут 20


Knyazev Alexey
FIL_ALEX
и что делал, для оптимизации?

http://msmvps.com/blogs/gladchenko/archive/2010/03/09/1761298.aspx
Да, вот это и делал :-)

Трейс-флаг 610, вставка insert into t2 with (tablock) select * from t1;
19 дек 11, 19:05    [11791682]     Ответить | Цитировать Сообщить модератору
 Re: вставлять пачками  [new]
FIL_ALEX
Member

Откуда:
Сообщений: 2
alexeyvg, спасибо огромедное, буду курить!!! Встала подобная задача, ищу куда копать.
20 дек 11, 11:09    [11794443]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить