Re: MS SQL 2000 !!!
От: akorolev10 Россия not
Дата: 16.05.05 07:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Скажите для 2000 таже проблема действует или нет ???


А>использование временных таблиц может стать причиной появления узких мест на вашем сервере баз данных. Проблемы блокировок tempdb могут наблюдаться в 6.5 и 7 версиях SQL сервера. В версии 6.5, часто используют select...into, для создания временной таблицы, например:


А>select *

А> into #tempTable
А> from source

А>В течение исполнения этого запроса, временная база данных будет заблокирована, пока не закончится вся выборка. Это может занимать много времени, если исходная таблица содержит большое количество данных. Во время блокировки, другие пользователи не могут создавать временные таблицы. Фактическое, узкое место в том, что блокируются системные таблицы tempdb (sysobjects). В более поздних версиях SQL сервера модель блокировок изменилась, что позволяет избегать этой проблемы.

А>Для того, что бы максимально смягчить последствия блокировок в tempdb необходимо добиться, что бы операции "create temporary table" исполнялись настолько быстро насколько это возможно. Например, можно использовать следующую конструкцию:

А>create table #temp(

А> ........
А> )
А> insert #temp
А> select *
А> from sourceTable

А>В этом примере вначале создаётся временная таблица, которая сразу же освобождается в sysobjects. Блокировка снимается настолько быстро насколько это возможно.



Так действует или не что-то другое придумали ????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.