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

Откуда: MOSKAU
Сообщений: 312
Хотел сначала поднять тему Табличные переменные vs временные таблицы но потом решил новую открыть, т.к. вопрос немого другой.

Из той темы: Inside Microsoft SQL Server 2005: T-SQL Programming
aceton
Functionality/Object Type Local Temp Table Table Variable Table Expression
Scope/VisibilityCurrent and inner levelsLocal BatchDerived Table/CTE: Current statement; View/Inline UDF: Global
Physical representation in tempdbYesYesNo
Part of outer transaction/Affected by outer transaction rollbackYesNoYes
LoggingTo support transaction rollbackTo support statement rollbackYes
LockingYesNoYes
Statistics/recompilations/efficient plansYesNoYes
Table sizeAnyTypically recommended for small tablesAny

Есть строчка Physical representation in tempdb.

Как эту фразу интерпретировать?
То что в системных таблицах прописывается это понятно. Интересует вот что - страницы данных табличной переменной на хард пишутся или нет?
И если пишутся то в каких случаях?
И самое главное (!) как это проверить/посмотреть/смоделировать?

Интерес чисто теоретический.
24 дек 09, 19:53    [8115709]     Ответить | Цитировать Сообщить модератору
 Re: Табличные переменные vs временные таблицы. Продолжение.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
PokeMan
Интересует вот что - страницы данных табличной переменной на хард пишутся или нет?
Да.
PokeMan
И если пишутся то в каких случаях?
Например, если вам захочется загнать туда пару терабайт данных. Ну или во всех остальных случаях, когда lazy writer решит запушить странички на диск. Или чекпоинт на tempdb произойдет.
PokeMan
И самое главное (!) как это проверить/посмотреть/смоделировать?
Поискать статейки, уже все давно исследовано. Ссылок не дам, искать ломает.
24 дек 09, 21:16    [8115864]     Ответить | Цитировать Сообщить модератору
 Re: Табличные переменные vs временные таблицы. Продолжение.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Полагаю, что можно попробовать:

1. Уменьшить tempdb до минимума.
2. Получить данные из sys.dm_db_file_space_usage.
3. продекларировать табличную переменную, заполнив ее приличной порцией данных, явно выходящих по размеру имеющееся свободное в бд место.
4. Снова промониторить sys.dm_db_file_space_usage и\или глянуть размер файла.
24 дек 09, 21:19    [8115868]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить