亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用SQL?。樱澹颍觯澹颉。玻埃埃邓饕晥D提高數(shù)據(jù)庫(kù)系統(tǒng)性能

        2009-07-31 06:59:04何育朋朱思銘
        關(guān)鍵詞:子句謂詞子集

        何育朋 朱思銘

        摘要:本文闡述如何使用SQL Server 2005 Enterprise Edition 的索引視圖改善數(shù)據(jù)庫(kù)系統(tǒng)的整體性能。

        關(guān)鍵詞:SQL Server 2005;database;DBMS

        1索引視圖的作用

        Microsoft SQL Server 視圖的主要作用是:

        1.1提供一種安全機(jī)制,將用戶(hù)限制到一個(gè)或多個(gè)基表的某個(gè)數(shù)據(jù)子集中。

        1.2提供一種機(jī)制,允許開(kāi)發(fā)人員自定義用戶(hù)通過(guò)邏輯方式查看存儲(chǔ)在基表中的數(shù)據(jù)的方式。

        在SQL Server 2005中,具有唯一的聚集索引的視圖稱(chēng)為索引視圖。

        2利用索引視圖提高系統(tǒng)性能的方法

        2.1可在視圖上使用非聚集索引。

        視圖上的非聚集索引可提供更好的查詢(xún)性能。與表上的非聚集索引類(lèi)似,視圖上的非聚集索引可提供更多選項(xiàng),供查詢(xún)優(yōu)化器在編譯過(guò)程中選擇。例如,如果查詢(xún)包含聚集索引所未涉及的列,那么優(yōu)化器可在計(jì)劃中選擇一個(gè)或多個(gè)輔助索引,避免對(duì)索引視圖或基表進(jìn)行費(fèi)時(shí)的完全掃描。

        對(duì)架構(gòu)添加索引會(huì)增加數(shù)據(jù)庫(kù)的開(kāi)銷(xiāo),因?yàn)樗饕枰掷m(xù)的維護(hù)。在索引數(shù)量和維護(hù)開(kāi)銷(xiāo)間尋求適當(dāng)?shù)钠胶恻c(diǎn)時(shí),應(yīng)謹(jǐn)慎權(quán)衡。

        2.2可在查詢(xún)優(yōu)化器中使用索引視圖。

        SQL Server 查詢(xún)優(yōu)化器自動(dòng)決定何時(shí)對(duì)給定的查詢(xún)執(zhí)行使用索引視圖。不必在查詢(xún)中直接引用視圖以供優(yōu)化器在查詢(xún)執(zhí)行計(jì)劃中使用。所以,現(xiàn)有的應(yīng)用程序可運(yùn)用索引視圖,而不用更改應(yīng)用程序本身。

        查詢(xún)優(yōu)化器通過(guò)考慮幾個(gè)條件來(lái)決定索引視圖能否涵蓋整個(gè)或部分查詢(xún)。這些條件對(duì)應(yīng)查詢(xún)中的一個(gè) FROM 子句并由下列這幾個(gè)部分組成:

        2.2.1查詢(xún) FROM 子句中的表必須是索引視圖 FROM 子句中的表的超集。

        2.2.2查詢(xún)中的聯(lián)接條件必須是視圖中的聯(lián)接條件的超集。

        2.2.3查詢(xún)中的聚合列必須可從視圖中的聚合列的子集派生。

        2.2.4查詢(xún)選擇列表中的所有表達(dá)式必須可從視圖選擇列表或未包含在視圖定義中的表派生。

        2.2.5如果與其他謂詞所匹配的行的超集相匹配,那么該謂詞將歸入另一個(gè)謂詞。例如,“T.a=10”歸入“T.a=10 and T.b=20”。任何謂詞都可歸入其自身。視圖中限制表值的那部分謂詞必須歸入查詢(xún)中限制相同表的那部分謂詞。此外,必須以 SQL Server 可驗(yàn)證的方式實(shí)現(xiàn)這一點(diǎn)。

        2.2.6屬于視圖定義中的表的查詢(xún)搜索條件謂詞的所有列必須出現(xiàn)在下列視圖定義的一項(xiàng)或多項(xiàng)中:

        (1)一個(gè) GROUP BY 列表。

        (2)視圖選擇列表(如不存在 GROUP BY)。

        (3)視圖定義中相同或等價(jià)的謂詞。

        情況(1)和(2)允許 SQL Server 對(duì)視圖的列應(yīng)用查詢(xún)謂詞,以便進(jìn)一步限制視圖的列。情況 (3) 比較特殊,它不需要對(duì)列進(jìn)行篩選,因此該列不必出現(xiàn)在視圖中。如果查詢(xún)不止包含一個(gè) FROM 子句(子查詢(xún)、派生表、UNION),優(yōu)化器可能選擇幾個(gè)索引視圖來(lái)處理查詢(xún),并將它們應(yīng)用到不同 FROM 子句。

        2.3可使用 NOEXPAND 視圖提示。

        當(dāng) SQL Server 處理按名稱(chēng)引用視圖的查詢(xún)時(shí),視圖的定義只有在僅引用基表時(shí)才會(huì)被正常擴(kuò)展。這個(gè)過(guò)程稱(chēng)為視圖擴(kuò)展。其屬于一種宏擴(kuò)展形式。

        NOEXPAND 視圖提示可強(qiáng)制查詢(xún)優(yōu)化器將視圖視為帶有聚集索引的普通表。其可防止視圖擴(kuò)展。只有在 FROM 子句中直接引用索引視圖,才會(huì)應(yīng)用 NOEXPAND 提示。例如:

        SELECT Column1, Column2, ...FROM Table1, View1 WITH (NOEXPAND) WHERE ...

        2.4可使用 EXPAND VIEWS 查詢(xún)提示。

        處理按名稱(chēng)引用視圖的查詢(xún)時(shí),除非對(duì)視圖引用添加 NOEXPAND 提示,否則 SQL Server 總會(huì)擴(kuò)展視圖。該提示會(huì)嘗試匹配索引視圖和擴(kuò)展查詢(xún),除非在查詢(xún)末尾的一個(gè) OPTION 子句中指定 EXPAND VIEWS 查詢(xún)提示。例如,假設(shè)數(shù)據(jù)庫(kù)中有一個(gè)索引視圖 View1,以下,根據(jù)其邏輯定義(其 CREATE VIEW 語(yǔ)句)對(duì) View1 進(jìn)行了擴(kuò)展,然后 EXPAND VIEWS 選項(xiàng)會(huì)阻止在計(jì)劃中使用 View1 的索引視圖來(lái)解析該查詢(xún)。使用語(yǔ)句如下:

        SELECT Column1, Column2, ... FROM Table1, View1 WHERE ...

        OPTION (EXPAND VIEWS)

        如要確保讓 SQL Server 通過(guò)從查詢(xún)所引用的基表直接訪問(wèn)數(shù)據(jù)來(lái)處理該查詢(xún),而不必訪問(wèn)索引視圖,那么可使用 EXPAND VIEWS。在某些情況下,EXPAND 視圖有助于消除因使用索引視圖而導(dǎo)致的鎖爭(zhēng)用。在測(cè)試應(yīng)用程序時(shí),NOEXPAND 和 EXPAND VIEWS 都可幫助用戶(hù)在使用和不使用索引視圖的情況下進(jìn)行性能評(píng)估。

        對(duì)數(shù)據(jù)庫(kù)系統(tǒng)確定一組適當(dāng)?shù)乃饕赡芎軓?fù)雜。如果在設(shè)計(jì)一般索引時(shí)需要考慮眾多可能性,那么對(duì)架構(gòu)添加索引視圖會(huì)大幅提高設(shè)計(jì)和潛在結(jié)果的復(fù)雜性。例如,索引視圖可用于:

        2.4.1查詢(xún)中引用的表的任何子集。

        2.4.2該表子集的查詢(xún)中的條件的任何子集。

        2.4.3組合的列。

        2.4.4聚合函數(shù)(比如:SUM)。

        2.5可應(yīng)用DTA優(yōu)化物理數(shù)據(jù)庫(kù)的設(shè)計(jì)。

        數(shù)據(jù)庫(kù)優(yōu)化顧問(wèn) (DTA) 是 SQL Server 2005 的一項(xiàng)功能,可有效優(yōu)化物理數(shù)據(jù)庫(kù)設(shè)計(jì)。使用 DTA 可讓管理員有一個(gè)更清晰的思路,可以更準(zhǔn)確地、有針對(duì)性地組合使用確定索引、索引視圖和分區(qū)策略,從而簡(jiǎn)化了物理數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程。

        3結(jié)束語(yǔ)

        下圖說(shuō)明了使用以上方法通常所能取得的性能改進(jìn)程度:

        實(shí)踐證明,靈活使用上述方法,能提高數(shù)據(jù)庫(kù)整體性能。

        參考文獻(xiàn):

        [1]Microsoft SQL Server 2005 Enterprise Edition English version helper document.

        [2] ROBIN DEWSON.《SQL SERVER 2005基礎(chǔ)教程》[M].北京:人民郵電出版社,2006.

        [3] SOLID QUALITY LEARNING[美].SQL SERVER 2005從入門(mén)到精通(應(yīng)用技術(shù)基礎(chǔ))[M],北京:清華大學(xué)出版社,2006.

        猜你喜歡
        子句謂詞子集
        由一道有關(guān)集合的子集個(gè)數(shù)題引發(fā)的思考
        命題邏輯中一類(lèi)擴(kuò)展子句消去方法
        拓?fù)淇臻g中緊致子集的性質(zhì)研究
        被遮蔽的邏輯謂詞
        ——論胡好對(duì)邏輯謂詞的誤讀
        命題邏輯可滿(mǎn)足性問(wèn)題求解器的新型預(yù)處理子句消去方法
        黨項(xiàng)語(yǔ)謂詞前綴的分裂式
        西夏研究(2020年2期)2020-06-01 05:19:12
        關(guān)于奇數(shù)階二元子集的分離序列
        西夏語(yǔ)的副詞子句
        西夏學(xué)(2018年2期)2018-05-15 11:24:42
        也談“語(yǔ)言是存在的家”——從語(yǔ)言的主詞與謂詞看存在的殊相與共相
        命題邏輯的子句集中文字的分類(lèi)
        精品国产一区av天美传媒| 久久国产精品免费久久久| 青青草手机免费播放视频| 亚洲中文字幕久久精品蜜桃| 亚洲av电影天堂男人的天堂| 亚洲a级片在线观看| 国产自拍在线视频观看| 尤物在线观看一区蜜桃| 亚洲爆乳精品无码一区二区| 亚洲AⅤ永久无码精品AA| 亚洲一区久久久狠婷婷| 一本色道久久亚洲综合| 影音先锋男人站| 免费看一级a女人自慰免费| 99国语激情对白在线观看| 亚洲欧洲日产国码av系列天堂 | 欧美成人精品三级网站| 国产爆乳乱码女大生Av| 中文字幕一区二区在线| 一本色综合网久久| 野花社区视频www官网| 天啦噜国产精品亚洲精品| 国产精品麻豆一区二区三区 | 国产福利片无码区在线观看| 日本一本二本三本道久久久| 国产欧美va欧美va香蕉在线| 少妇高潮潮喷到猛进猛出小说| 人妻少妇无码中文幕久久| 久久狼人国产综合精品| 无码av不卡一区二区三区| 日本韩无专砖码高清| 中文字幕日本人妻一区| 中文字日产幕码三区国产| 尤物网址在线观看| 日批视频免费在线观看| 久久亚洲精品一区二区三区| 国产电影一区二区三区| 久久精品波多野结衣中文字幕| 亚洲av一区二区网址| 免费国产线观看免费观看| 免费无码成人av在线播放不卡|