必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

數據庫:利用SQLServer臨時表表變量的區別表現

時間: 家輝2 資訊

  varchar(2000), NewsDateTime datetime ) INSERT INTO dbo.#News (News_id, NewsTitle,

  NewsContent, NewsDateTime) VALUES (1,'BlueGreen', 'Austen', 200801, GETDATE()) SELECT

  利用表變量

  DECLARE @News table ( News_id int NOT NULL, NewsTitle varchar(100),

  NewsContent varchar(2000), NewsDateTime datetime ) INSERT INTO @News

  (News_id, NewsTitle, NewsContent, NewsDateTime) VALUES (1,'BlueGreen',

  'Austen', 200801, GETDATE()) SELECT News_id, NewsTitle, NewsContent,

  NewsDateTime FROM @News

  我們可以看到上面兩種情況實現的是一樣的效果,第一種利用SQL Server臨時表的時候,臨時表一般被創建后,如果在執行的時候,沒有通過DROP Table的操作,第二次就不能再被創建,而定義表變量也不需要進行DROP Table的操作,一次執行完成后就會消失。

  其實在選擇臨時表還是表變量的時候,我們大多數情況下在使用的時候都是可以的,但一般我們需要遵循下面這個情況,選擇對應的方式:

  1)使用表變量主要需要考慮的就是應用程序對內存的壓力,如果代碼的運行實例很多,就要特別注意內存變量對內存的消耗。我們對于較小的數據或者是通過計算出來的推薦使用表變量。如果數據的結果比較大,在代碼中用于臨時計算,在選取的時候沒有什么分組的聚合,就可以考慮使用表變量。

  2)一般對于大的數據結果,或者因為統計出來的數據為了便于更好的優化,我們就推薦使用SQL Server臨時表,同時還可以創建索引,由于臨時表是存放在Tempdb中,一般默認分配的空間很少,需要對tempdb進行調優,增大其存儲的空間。

  注:表變量雖然不支持索引,但是表變量支持主鍵阿,所以可以利用主鍵來替代索引。

  注:由于表變量不支持統計數據,因此在一個存儲過程中使用表變量可以減少由于數據變化而導致的重新編譯問題。

  注:表變量同時也不支持并行執行計劃,因此對于大型的臨時結果集,表變量也不是一個好的選擇

  對于函數中不能支持SQL Server臨時表是由于函數不能對函數作用域外部的資源狀態造成永久性的更改,在SQLServer中也稱為副作用(sideeffect)。不過如果在函數中使用大型的臨時結果集是不推薦的,因為如果將這樣的函數放置到一個查詢中會造成很明顯的性能問題,因此這種情況一般都采用存儲過程之類的批處理腳本。

  對于動態腳本不支持表變量的原因是因為存儲過程不接受表類型的參數。不過如果表變量的聲明和賦值都在sp_executesql的參數中的話,sp_executesql就可以執行了,因為這個時候表變量就存在sp_executesql的stmt參數里面,不需要傳入,例如下面的代碼:(當然這樣的實用性也就沒有多少了)

  DECLARE @m nvarchar(max) SET @m = N"DECLARE @t TABLE (ID int);INSERT INTO @tVALUES(1);SELECT * FROM @t T" EXEC sp_executesql @m 以上的相關內容就是對利用SQL Server臨時表與利用表變量比較,望你能有所收獲。

56055 主站蜘蛛池模板: 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 西门子代理商_西门子变频器总代理-翰粤百科 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 汽液过滤网厂家_安平县银锐丝网有限公司 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 不干胶标签,不干胶标签纸_厂家-山东同力胶粘制品 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 剪刃_纵剪机刀片_分条机刀片-南京雷德机械有限公司 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 南京交通事故律师-专打交通事故的南京律师 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 楼承板-开闭口楼承板-无锡海逵楼承板 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 诗词大全-古诗名句 - 古诗词赏析 | 东亚液氮罐-液氮生物容器-乐山市东亚机电工贸有限公司 |