掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
在SQL數(shù)據(jù)庫(kù)中,必須使用表變量來(lái)代替臨時(shí)表嗎?答案取決于三個(gè)因素:插入到表中的行數(shù)、從中保存查詢(xún)的重新編譯的次數(shù)、以及查詢(xún)類(lèi)型及其對(duì)性能的指數(shù)和統(tǒng)計(jì)信息的依賴(lài)性。

在鄠邑等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷(xiāo),外貿(mào)網(wǎng)站制作,鄠邑網(wǎng)站建設(shè)費(fèi)用合理。
在某些情況下,可將一個(gè)具有臨時(shí)表的存儲(chǔ)過(guò)程拆分為多個(gè)較小的存儲(chǔ)過(guò)程,以便在較小的單元上進(jìn)行重新編譯。
通常情況下,應(yīng)盡量使用表變量,除非數(shù)據(jù)量非常大并且需要重復(fù)使用表。在這種情況下,可以在臨時(shí)表上創(chuàng)建索引以提高查詢(xún)性能。但是,各種方案可能互不相同。Microsoft 建議您做一個(gè)測(cè)試,來(lái)驗(yàn)證表變量對(duì)于特定的查詢(xún)或存儲(chǔ)過(guò)程是否比臨時(shí)表更有效。
============================
declare @temp table
(
[id] int IDENTITY(1,1),
[Name] varchar(10)
)
declare @tempId int,@tempName varchar(10)
insert into @temp values('a')
insert into @temp values('b')
insert into @temp values('c')
insert into @temp values('d')
insert into @temp values('e')
--select * from @temp
WHILE EXISTS(select [id] from @temp)
begin
SET ROWCOUNT 1
select @tempId = [id],@tempName=[Name] from @temp
SET ROWCOUNT 0
delete from @temp where [id] = @tempId
print 'Name:----'+@tempName
end
【編輯推薦】
SQL中表變量的不足
詳解SQL中循環(huán)結(jié)構(gòu)的使用
SQL循環(huán)執(zhí)行while控制
SQL中游標(biāo)嵌套循環(huán)的示例
SQL循環(huán)語(yǔ)句示例

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流