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

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

數據庫:利用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 主站蜘蛛池模板: 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 陕西华春网络科技股份有限公司| 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 二手回收公司_销毁处理公司_设备回收公司-找回收信息网 | 湖北省煤炭供应链综合服务平台| 桐城新闻网—桐城市融媒体中心主办 | 818手游网_提供当下热门APP手游_最新手机游戏下载 | 聚合氯化铝厂家-聚合氯化铝铁价格-河南洁康环保科技 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 聚合氯化铝厂家-聚合氯化铝铁价格-河南洁康环保科技 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 广州昊至泉水上乐园设备有限公司 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 硫酸钡厂家_高光沉淀硫酸钡价格-河南钡丰化工有限公司 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 脉冲除尘器,除尘器厂家-淄博机械 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 包头市鑫枫装饰有限公司| 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 |