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

Откуда:
Сообщений: 429
Выполняется доопределение временной таблицы некоторыми полями в несколько этапов. Update работает долго, поэтому делается select..into... Хочется, чтобы после каждого этапа таблица получала имя исходной. Возможно ли это? Если да, то как?
7 июн 09, 23:01    [7274563]     Ответить | Цитировать Сообщить модератору
 Re: Как переименовать временную таблицу?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Может апдейт пооптимизировать, чем извратом заниматься?
7 июн 09, 23:16    [7274600]     Ответить | Цитировать Сообщить модератору
 Re: Как переименовать временную таблицу?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Или всётаки, используя декларативные языки, писать декларативно.
Разделяя код на "простые куски", не надо заставлять сервер и выполнять его раздельно.
Скорее не к месту, но вдруг:
Для сервера консрукция вида: view -> view -> view -> view, это всё равно один select.
Поверьте, оптимизатор запросов очень хорошо помогает в работе. А планы запросов помогают увидеть ошибки программиста/проектировщика. Чем больше он знает о зависимостях в данных, тем лучше он это делает.
7 июн 09, 23:42    [7274637]     Ответить | Цитировать Сообщить модератору
 Re: Как переименовать временную таблицу?  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Игорь Ч,

Нет. Временные таблицы существуют физически в tempdb, т.е. базе, отличной от Вашей собственной.
7 июн 09, 23:44    [7274639]     Ответить | Цитировать Сообщить модератору
 Re: Как переименовать временную таблицу?  [new]
Игорь Ч
Member

Откуда:
Сообщений: 429
Вроде бы уже все, что можно было оптимизировал. Перед каждым выполнением Update строились соответствующие индексы. И все равно select..into... выполняется гораздо быстрее.
Выполнять все одним запросом тоже невозможно, поскольку каждый следующий запрос зависит от данных предыдущего и без построения индекса будет выполняться очень не быстро.

Senya_L
Игорь Ч,
Нет. Временные таблицы существуют физически в tempdb, т.е. базе, отличной от Вашей собственной.


Спасибо.
8 июн 09, 08:04    [7274946]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить