TSQL - эффективный способ задания нескольких переменных - PullRequest
9 голосов
/ 12 февраля 2011

это более эффективный способ сделать это?

set @ShippingL = (select ShippingL from AuctionProducts where ProductID = @ProductID)
set @ShippingB = (select ShippingB from AuctionProducts where ProductID = @ProductID)
set @ShippingH = (select ShippingH from AuctionProducts where ProductID = @ProductID)
set @ShippingW = (select ShippingW from AuctionProducts where ProductID = @ProductID)

Приветствия, -R

1 Ответ

20 голосов
/ 12 февраля 2011

Я думаю, что выполнение одного запроса будет таким же хорошим, как вы его получите:

select 
  @ShippingL = ShippingL,
  @ShippingB = ShippingB,
  @ShippingH = ShippingH,
  @ShippingW = ShippingW 
from 
  AuctionProducts 
where
  ProductID = @ProductID 

Я бы предположил, что это в 4 раза быстрее, чем код, который вы опубликовали.Кроме того, убедитесь, что у вас есть индекс, определенный в столбце ProductID таблицы AuctionProducts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...