成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2000 表變量引入時的問題與解決

數(shù)據(jù)庫 SQL Server
以下的文章主要描述的是SQL Server 2000 表變量的引入時的一些常見問題,以及對這些問題的破解,以下就是文章的主要內(nèi)容講述。

我們今天主要和大家一起分享的是SQL Server 2000 表變量,在SQL Server 2000 中引入的表變量的實(shí)際操作中會出現(xiàn)一些常見問題,在這里我們給你作了一些相關(guān)解答,希望會給你帶來一些幫助在此方面。

要閱讀表變量的 SQL Server 聯(lián)機(jī)叢書說明,請?jiān)L問下面的 Microsoft 網(wǎng)站: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_7ysl.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_7ysl.asp)

更多信息

問題 1:為什么在已經(jīng)有了臨時表的情況下還要引入表變量?

解答 1:與臨時表相比,SQL Server 2000 表變量具有下列優(yōu)點(diǎn): 如 SQL Server 聯(lián)機(jī)叢書“表”(Table) 一文中所述,表變量(如局部變量)具有明確定義的范圍,在該范圍結(jié)束時會自動清除這些表變量。

與臨時表相比,表變量導(dǎo)致存儲過程的重新編譯更少。

涉及表變量的事務(wù)僅維持表變量上更新的持續(xù)時間。因此,使用表變量時,需要鎖定和記錄資源的情況更少。因?yàn)楸碜兞烤哂杏邢薜姆秶⑶也皇浅志眯詳?shù)據(jù)庫的一部分,所以事務(wù)回滾并不影響它們。

問題 2:如果說使用表變量比使用臨時表導(dǎo)致存儲過程的重新編譯更少,這意味著什么?

解答 2:下面的文章討論了重新編譯存儲過程的一些原因:

243586 (http://support.microsoft.com/kb/243586/) 存儲過程重新編譯的疑難解答“由于某些臨時表操作引起的重新編譯”一節(jié)還列出了為避免一些問題(例如使用臨時表導(dǎo)致重新編譯)而需要滿足的一些要求。這些限制不適用于表變量。

表變量完全獨(dú)立于創(chuàng)建這些SQL Server 2000 表變量的批,因此,當(dāng)執(zhí)行 Create 或 Alter 語句時,不會發(fā)生“重新解析”,而在使用臨時表時可能會發(fā)生“重新解析”。臨時表需要此“重新解析”,以便從嵌套存儲過程引用該表。表變量完全避免了此問題,因此存儲過程可以使用已編譯的計(jì)劃,從而節(jié)省了處理存儲過程的資源。

問題 3:表變量有哪些缺陷?

解答 3:與臨時表相比,它存在下列缺陷: 在表變量上不能創(chuàng)建非聚集索引(為 PRIMARY 或 UNIQUE 約束創(chuàng)建的系統(tǒng)索引除外)。與具有非聚集索引的臨時表相比,這可能會影響查詢性能。

表變量不像臨時表那樣可以維護(hù)統(tǒng)計(jì)信息。在表變量上,不能通過自動創(chuàng)建或使用 Create STATISTICS 語句來創(chuàng)建統(tǒng)計(jì)信息。因此,在大表上進(jìn)行復(fù)雜查詢時,缺少統(tǒng)計(jì)信息可能會妨礙優(yōu)化器確定查詢的***計(jì)劃,從而影響該查詢的性能。

在初始 DECLARE 語句后不能更改表定義。

表變量不能在 Insert EXEC 或 Select INTO 語句中使用。

表類型聲明中的檢查約束、默認(rèn)值以及計(jì)算所得的列不能調(diào)用用戶定義的函數(shù)。

如果表變量是在 EXEC 語句或 sp_executesql 存儲過程外創(chuàng)建的,則不能使用 EXEC 語句或 sp_executesql 存儲過程來運(yùn)行引用該表變量的動態(tài) SQL Server 查詢。由于表變量只能在它們的本地作用域中引用,因此 EXEC 語句和 sp_executesql 存儲過程將在表變量的作用域之外。

但是,您可以在 EXEC 語句或 sp_executesql 存儲過程內(nèi)創(chuàng)建表變量并執(zhí)行所有處理,因?yàn)檫@樣表變量本地作用域?qū)⑽挥?EXEC 語句或 sp_executesql 存儲過程中。

問題 4:與臨時表或***表相比,SQL Server 2000 表變量的僅存在于內(nèi)存中的結(jié)構(gòu)保證了更好的性能,是否因?yàn)樗鼈兪窃隈v留在物理磁盤上的數(shù)據(jù)庫中維護(hù)的?

解答 4:表變量不是僅存在于內(nèi)存中的結(jié)構(gòu)。由于表變量可能保留的數(shù)據(jù)較多,內(nèi)存中容納不下,因此它必須在磁盤上有一個位置來存儲數(shù)據(jù)。與臨時表類似,表變量是在 tempdb 數(shù)據(jù)庫中創(chuàng)建的。如果有足夠的內(nèi)存,則表變量和臨時表都在內(nèi)存(數(shù)據(jù)緩存)中創(chuàng)建和處理。

問題 5:必須使用表變量來代替臨時表嗎?

解答 5:答案取決于以下三個因素: 插入到表中的行數(shù)。

從中保存查詢的重新編譯的次數(shù)。

查詢類型及其對性能的指數(shù)和統(tǒng)計(jì)信息的依賴性。

在某些情況下,可將一個具有臨時表的存儲過程拆分為多個較小的存儲過程,以便在較小的單元上進(jìn)行重新編譯。

通常情況下,應(yīng)盡量使用SQL Server 2000 表變量,除非數(shù)據(jù)量非常大并且需要重復(fù)使用表。在這種情況下,可以在臨時表上創(chuàng)建索引以提高查詢性能。但是,各種方案可能互不相同。Microsoft 建議您做一個測試,來驗(yàn)證表變量對于特定的查詢或存儲過程是否比臨時表更有效。

如果您沒有看到您問題的答案,請?jiān)L問 Microsoft SQL Server 新聞組,地址是:Microsoft SQL Server 新聞組 (http://support.microsoft.com/newsgroups/)

如果您想對本文或其他 Microsoft SQL Server 知識庫文章發(fā)表評論,請給我們發(fā)郵件,地址是SQLKB@Microsoft.comhttp://support.microsoft.com/?kbid=305977

【編輯推薦】

  1. SQL Server游標(biāo)實(shí)例演示,不得不看!
  2. SQL Server復(fù)制和其相關(guān)的工作原理
  3. MS SQL Server 未公開的加密函數(shù)有哪些?
  4. 快速對SQL Server鎖機(jī)制進(jìn)行掌握的竅門
  5. 用SQL Server 2005DDL觸發(fā)器對數(shù)據(jù)庫進(jìn)行監(jiān)控
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-07-23 14:11:18

SQL Server

2010-07-02 09:43:22

SQL Server

2010-07-22 16:02:29

2010-07-23 09:15:08

安裝SQL Serve

2010-07-26 13:33:28

SQL Server

2010-06-30 14:15:08

SQL Server死

2009-05-26 10:21:07

2010-07-16 13:14:39

SQL Server

2011-04-06 13:14:29

SQL Server 安裝

2011-04-18 13:02:08

SQL Server SQL Server

2010-10-19 16:40:34

sql server掛

2010-07-16 08:50:00

SQL Server表

2010-09-16 15:10:48

SQL Server表

2011-03-29 13:22:07

SQL Server臨時表表變量

2011-07-22 13:46:41

SQL Server MDAC

2010-07-02 14:20:30

SQL Server2

2021-01-18 05:23:14

SQL 排序Server

2010-07-08 14:24:21

SQL Server

2010-11-09 17:09:23

SQL Server中

2010-06-18 11:04:39

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区三区韩国 | 精品一区二区三区在线观看国产 | 在线免费黄色 | 成人在线免费av | 91一区二区在线观看 | 国产一区二区在线免费观看 | 国家aaa的一级看片 h片在线看 | 亚洲在线一区 | 一区免费看| 亚洲精品第一 | 美女在线视频一区二区三区 | 91在线免费视频 | 国产在线精品一区二区 | 亚洲一区二区三区四区在线观看 | 欧美无乱码久久久免费午夜一区 | 日韩人体在线 | 精品国产18久久久久久二百 | av香港经典三级级 在线 | 久久99久久99久久 | 韩日在线视频 | 中文字幕一区二区三区在线观看 | 日韩欧美国产一区二区 | 黄色大全免费看 | 成人在线中文字幕 | 日本精品一区二区三区在线观看 | 精品免费在线 | 精品无码久久久久久国产 | 成年视频在线观看福利资源 | www.国产91 | 国产精品毛片一区二区在线看 | 一区二区三区在线免费 | 免费视频一区二区三区在线观看 | 久久久久成人精品免费播放动漫 | 一区二区视频 | 欧美一区二区三区在线看 | 国产成人亚洲精品 | 国产精品久久久久影院色老大 | 国产精品www | 超碰伊人 | 999精品视频在线观看 | 2019天天干夜夜操 |