powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переменная типа table
3 сообщений из 3, страница 1 из 1
Переменная типа table
    #32030592
SergPn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установлен 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
Переменная типа table
    #32030594
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер,

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

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


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