Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 tempdb  [new]
TEMPDB
Guest
Добрый день, подскажите пожалуйста когда используется tempdb и будет ли эта база использоваться при запросе типа
DELETE FROM XXX T1 WHERE EXISTS
(SELECT * FROM XXX T2 WHERE
(T2.column1 = T1.column1 or (T2.column1 is null and T2.column1 is null)) AND
(T2.column2 = T1.column2 or (T2.column2 is null and T2.column2 is null)) AND
(.......) AND
17 авг 09, 20:53    [7548581]     Ответить | Цитировать Сообщить модератору
 Re: tempdb  [new]
Crimean
Member

Откуда:
Сообщений: 13148
не исключено, что будет
17 авг 09, 21:03    [7548598]     Ответить | Цитировать Сообщить модератору
 Re: tempdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Наличие в плане операторов Table\Index Spool - значит 100% используется.
17 авг 09, 21:05    [7548603]     Ответить | Цитировать Сообщить модератору
 Re: tempdb  [new]
TEMPDB
Guest
Можно ли сказать сколько будет задействовано памяти? Например если таблица 10Гб, а размер базы temp - 8 Гб. Этот запрос загнётся? Есть ли возможность удалить дубликаты другим образом, учитывая что размер базы где лежит табличка 16 Гб.
17 авг 09, 21:11    [7548617]     Ответить | Цитировать Сообщить модератору
 Re: tempdb  [new]
Anddros
Member

Откуда:
Сообщений: 1077
Удаляйте дубликаты небольшими порциями с commit tran после каждого удаления. Кучу способов удаления найдете поиском на этом форуме.

Что касается 'сколько будет задействовано памяти' - умножайте значения EstimateRows на AvgRowSize в каждой строчке плана запроса. НЕ МЕНЬШЕ этого. Если уже это значение вылезает за пределы вашей оперативки - глобальные тормоза неизбежны.
17 авг 09, 23:45    [7548979]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить