2011-02-12 12 views
9

¿es su forma más eficiente de hacer esto?TSQL - forma eficiente de configurar múltiples variables

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) 

Cheers, -R

Respuesta

20

Yo pensaría haciendo una consulta sería tan bueno como usted lo conseguirá:

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

Me imagino que esto es 4 veces más rápido que el código que publicaste Además, asegúrese de tener un índice definido en la columna ProductID de la tabla AuctionProducts.

+3

sí, 4 veces más rápido porque solo tiene acceso a una tabla. – gbn

Cuestiones relacionadas