Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переменная типа table / 3 сообщений из 3, страница 1 из 1
19.05.2002, 17:58
    #32030592
SergPn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная типа table
Установлен SP2

Следующий код

declare @item table (ItemID int not null primary key)

insert into @item (ItemID)
select ItemID from Items with (nolock)
where (@ProdID is null or ProdID = @ProdID)

работает гораздо хуже, чем

create table #item (ItemID int not null primary key)

insert into #item (ItemID)
select ItemID from Items with (nolock)
where (@ProdID is null or ProdID = @ProdID)

если переменная @item далее в процедуре участвует в запросах.

Может вообще не стоит использовать переменные типа table.
Хотя обещали, что это наоборот повысит производительность так как
переменная хранится в памяти, а временная табличка в tempdb.
...
Рейтинг: 0 / 0
19.05.2002, 20:29
    #32030594
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная типа table
Добрый вечер,

Простите, но что означает фраза "работает гораздо хуже, чем"?
Медленнее?

Удачи
...
Рейтинг: 0 / 0
20.05.2002, 06:58
    #32030612
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная типа table
База tempdb использует только "simple" - модель лога, соответственно, создаваемые таблицы будут храниться в памяти (настолько, насколько это необходимо), т.е. здесь никакого преимущества нет.
Оно в другом - переменной типа table проще управлять - при созлании не надо производить кучу действий - создание записей в sysobjects, syscolumns, syslock и т.д.
У переменной типа table есть и недостатки - нет индексов, хуже оптимизация...
Руководствуйтесь следующим: если много данных и сложная обработка - #table, в противном случае - @table
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переменная типа table / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]