Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Большой скрипт, множество временных таблиц - виснет  [new]
Alkatraz
Member

Откуда:
Сообщений: 216
Здравствуйте!

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

Проблемма проявляется в следующем - в одной из частей скрипта идет тяжелая выборка из нескольких временных таблиц с последующей вставкой в реальную таблицу результата. Во временных таблицах содержится порядка нескольких десятков миллионов записей. При запуске скрипта, он фактически виснет по моим подозрениям именно в этой части. Если скрипт выполнять последовательно, по частям из Management Studio, то скрипт все-же выполняется за вполне разумное время.

Есть ли какие-нибудь способы оптимизации работы с большим объемом агрегируемой информации и временными таблицами?

Буду рад любым советам...

P.S.
Все временные таблицы снабжаются индексами по полям, учавствующим в последующих выюорках.
11 авг 09, 14:45    [7523100]     Ответить | Цитировать Сообщить модератору
 Re: Большой скрипт, множество временных таблиц - виснет  [new]
Glory
Member

Откуда:
Сообщений: 104760
Т.е. вы даже не узнали, на какой команде скрипта он "виснет" ? Только подозреваете ?
11 авг 09, 14:48    [7523137]     Ответить | Цитировать Сообщить модератору
 Re: Большой скрипт, множество временных таблиц - виснет  [new]
Alkatraz
Member

Откуда:
Сообщений: 216
Каюсь, руки до него дошли только что. Действительно - виснет именно в том самом месте.

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

Скрипт громоздкий и я думаю, приводить его здесь смысла не имеет, по скольку скрипта на создание таблиц я привести не смогу...

Первое, что сделал - разделил скрипт на куски с помощью GO - до этого скрипт был "монолитным".

Сейчас смотрю, какой именно кусок "заедает" через профайлер.
11 авг 09, 15:54    [7523663]     Ответить | Цитировать Сообщить модератору
 Re: Большой скрипт, множество временных таблиц - виснет  [new]
Crimean
Member

Откуда:
Сообщений: 13148
ПК на временные таблицы есть? часто помогает
17 авг 09, 14:30    [7546553]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить