国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL Server 2012的列存儲(chǔ)索引技術(shù)有效運(yùn)用

2017-04-14 15:43王玉銀
電子技術(shù)與軟件工程 2017年6期
關(guān)鍵詞:壓縮算法批處理列式

若想為加強(qiáng)數(shù)據(jù)庫(kù)查詢的性能,可通過(guò)SQL Server 2012 在表中建立列式的索引,提高工作的效率。文章主要分析了列存儲(chǔ)縮影存儲(chǔ)的原理,探討列存儲(chǔ)索引應(yīng)用局限和優(yōu)勢(shì),以便相關(guān)用戶能夠在列式索引下挖掘各種交互式數(shù)據(jù),進(jìn)而獲取既有數(shù)據(jù)商業(yè)價(jià)值。

【關(guān)鍵詞】SQL Server 2012 列存儲(chǔ) 索引技術(shù) 有效應(yīng)用

1 前言

SQL Server 2012主要是應(yīng)用列式的存儲(chǔ)進(jìn)行索引,這種方式可以提升數(shù)據(jù)庫(kù)查詢的效率。通過(guò)結(jié)合其他的新功能與全新索引,在特定應(yīng)用的場(chǎng)景下,能夠大幅度提高數(shù)據(jù)庫(kù)查詢的性能,尤其一些決策與支持類查詢,能夠提高10倍及以上的效率。數(shù)據(jù)查詢性能提升,主要是經(jīng)過(guò)SQL Server的管理界面以及T-SQL的語(yǔ)句實(shí)現(xiàn),所以能夠和SQL Server Reporting Services全部報(bào)表的解決方案兼容。

2 分析行存儲(chǔ)以及列存儲(chǔ)優(yōu)勢(shì)與缺陷

列存儲(chǔ)的索引可以存儲(chǔ)與分組每一列數(shù)據(jù),再和所有列進(jìn)行聯(lián)接,組成完整的索引,這種索引方式與傳統(tǒng)索引不一樣,傳統(tǒng)的索引是存儲(chǔ)與分組每行數(shù)據(jù),再對(duì)所有行進(jìn)行聯(lián)接,組成索引。

2.1 列存儲(chǔ)和行存儲(chǔ)

在SQL Server系統(tǒng)中,Page屬于數(shù)據(jù)存儲(chǔ)基本的單位,數(shù)據(jù)行為實(shí)際數(shù)據(jù)存儲(chǔ)的單位,在出現(xiàn)Page Header以后,就開始存儲(chǔ)于Page中,于Page中根據(jù)行進(jìn)行存儲(chǔ)的記錄方式即為行存儲(chǔ)。如果數(shù)據(jù)是根據(jù)單列并不是多行來(lái)持續(xù)存儲(chǔ),那就是列存儲(chǔ)。

2.2 行存儲(chǔ)缺陷

從圖1中能夠看出,在SQL Server 處理查詢數(shù)據(jù)時(shí),會(huì)將全部的索引頁(yè)都提取出來(lái),這樣就會(huì)提取到無(wú)用部分,話句話說(shuō),會(huì)對(duì)全部列記錄進(jìn)行讀取,不需要的也被讀取。如果讀取了不需要數(shù)據(jù),不僅會(huì)導(dǎo)致內(nèi)存被大量浪費(fèi),而且會(huì)增加I/O,嚴(yán)重影響了系統(tǒng)整體的性能。

2.3 列存儲(chǔ)優(yōu)勢(shì)

從圖一中不難看出,磁盤每一個(gè)Page只可以對(duì)單列數(shù)值進(jìn)行存儲(chǔ),并不能存儲(chǔ)整行數(shù)值。所以應(yīng)用壓縮算法,效率會(huì)比較高,主要因?yàn)閴嚎s算法可以作用在同類型數(shù)據(jù)上。如:假設(shè)一張三列數(shù)據(jù)表,從左至右分別是int與varchar、bool的類型,該表一共有一百條記錄。對(duì)int類型第一列的數(shù)據(jù)而言,使用壓縮的算法比較容易,并且壓縮率也相對(duì)較高。簡(jiǎn)言之,無(wú)需對(duì)該表全部列進(jìn)行訪問(wèn),只需要訪問(wèn)需要子集,這樣不僅能夠降低磁盤I/0,而且可以提高緩存,提升磁盤存儲(chǔ)的利用率。

3 列存儲(chǔ)局限和特征

3.1 SQL Server的列存儲(chǔ)技術(shù)特征

數(shù)據(jù)分裂的格式:對(duì)每個(gè)列數(shù)據(jù)實(shí)時(shí)存儲(chǔ)與分組。通過(guò)SQL Server的查詢與處理以后,能夠應(yīng)用新數(shù)據(jù)進(jìn)行布局,同時(shí)對(duì)查詢執(zhí)行的時(shí)間進(jìn)行改進(jìn)。

提高查詢結(jié)果的速率,列存儲(chǔ)的所以容易因?yàn)橄率鲆蛩馗焐上鄳?yīng)的結(jié)果。僅需讀取所需要列,所以從磁盤讀至內(nèi)存,再?gòu)膬?nèi)存到處理器的緩存,這樣可以減少數(shù)據(jù)量;列經(jīng)過(guò)高度的壓縮,在很大程度上減少了移動(dòng)字節(jié)數(shù)與讀取字節(jié)數(shù);很多數(shù)據(jù)的查詢不會(huì)涉及到表中全部列,所以大多數(shù)列并不會(huì)進(jìn)入到內(nèi)存中,將其和出色壓縮的方法結(jié)合,能夠?qū)彌_池的使用率進(jìn)行改善,降低總的I/O;高級(jí)查詢的執(zhí)行技術(shù)可以簡(jiǎn)化處理列塊,降低CPU的使用率。

3.2 列存儲(chǔ)的索引局限性

所含列數(shù)需要控制于1024以內(nèi);不能聚集,只可以將列存儲(chǔ)聚集以后才可以使用;并不是唯一的索引;不可以建立索引視圖或是視圖;不涵蓋稀疏列;不可以作為外鍵或是主鍵;不可以通過(guò)ALTER INDEX的語(yǔ)句進(jìn)行更改。需要在刪除以后重新建立列存儲(chǔ)的索引;不可以通過(guò)INCLUDE的關(guān)鍵字進(jìn)行創(chuàng)建;不可以含有DESC或是ASC的關(guān)鍵字,按照壓縮算法排序列存儲(chǔ)的索引,不可以在索引中排序,可以根據(jù)搜索算法排序索引中數(shù)值;不可以使用或是保留傳統(tǒng)索引方法所統(tǒng)計(jì)的信息;不能對(duì)里存儲(chǔ)的索引表進(jìn)行更新。

分析內(nèi)存受限情況:目前,類存儲(chǔ)的處理根據(jù)內(nèi)存中的處理需要實(shí)施了相應(yīng)的優(yōu)化。應(yīng)用SQL Server能夠完善若干的機(jī)制,在很大程度上改善大多數(shù)的數(shù)據(jù)結(jié)構(gòu)或是數(shù)據(jù)使用情況,尤其在內(nèi)存不足的時(shí)候依然可以保證數(shù)據(jù)不會(huì)外溢。若內(nèi)存限制比較嚴(yán)重,在處理的過(guò)程中,需要應(yīng)用行內(nèi)存進(jìn)行處理。在部分實(shí)例中,會(huì)選取列存儲(chǔ)的索引當(dāng)做訪問(wèn)的方法,然而內(nèi)存不足時(shí),無(wú)法生成相應(yīng)數(shù)據(jù)的結(jié)構(gòu),就會(huì)先從操作列存儲(chǔ)開始,再默認(rèn)較慢代碼的路徑,在數(shù)據(jù)查詢時(shí),就會(huì)因?yàn)閮?nèi)存受到嚴(yán)重限制,進(jìn)而降低了性能。

列存儲(chǔ)的索引生成要求內(nèi)存量一般如下: 8 MB×索引中列數(shù)×DOP/并行度,一般情況下,內(nèi)存的要求會(huì)伴隨字符串列比例的提高而不斷地增加,所以需要減少DOP ,以降低列存儲(chǔ)的索引生成列所需內(nèi)存。部分表達(dá)式計(jì)算比傳統(tǒng)表達(dá)式的計(jì)算效率高:在應(yīng)用列存儲(chǔ)的索引時(shí),應(yīng)該應(yīng)用批處理的模式對(duì)部分常見(jiàn)的表達(dá)式進(jìn)行計(jì)算,并不是重復(fù)的根據(jù)某一特定模式計(jì)算。應(yīng)用列存儲(chǔ)的索引不僅可以帶來(lái)計(jì)算效率快的優(yōu)勢(shì),而且可以加速批處理與數(shù)據(jù)查詢的效果,并且在批處理時(shí),也不會(huì)啟動(dòng)每個(gè)查詢的運(yùn)算符。此外,應(yīng)用列存儲(chǔ)的索引并不支持SEEK運(yùn)行:若查詢需要返回行一部分,優(yōu)化器則不會(huì)選取列存儲(chǔ)的索引,如needle-in-the-haystack的類型查詢。若應(yīng)用表提示的FORCESEEK,優(yōu)化器就可以不需要考慮到類存儲(chǔ)的索引。同時(shí)類存儲(chǔ)的索引不可以結(jié)合以下的功能:行壓縮、頁(yè)與vardecimal的存儲(chǔ)格式;復(fù)制;跟蹤更改;變更數(shù)據(jù)的捕獲;文件流。

4 結(jié)論

總而言之,SQL Server 2012提高的相關(guān)的查詢功能、列存儲(chǔ)索引,在技術(shù)方面取得突破性發(fā)展,能夠給數(shù)據(jù)庫(kù)的查詢提供性能的優(yōu)勢(shì)。并且企業(yè)最終用戶能夠應(yīng)用熟悉報(bào)表的工具進(jìn)行查詢,旨在較短時(shí)間里獲取數(shù)據(jù)商業(yè)的價(jià)值,使得企業(yè)變成主要獲益者。

參考文獻(xiàn)

[1]江凌,楊平利,楊梅.基于ADO.NET技術(shù)訪問(wèn)SQL Server數(shù)據(jù)庫(kù)的編程實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014,18(08):95-98.

[2]王蕊.基于ObjectARX和SQL Server的AutoCAD圖形數(shù)據(jù)存儲(chǔ)[J].電子測(cè)試,2016,21(12):87-88.

[3]張華東,邵秀麗,吳軍.SQL Server數(shù)據(jù)庫(kù)到HBase數(shù)據(jù)庫(kù)的模式轉(zhuǎn)換和數(shù)據(jù)遷移研究[J].智能計(jì)算機(jī)與應(yīng)用,2016,6(05):24-30,34.

作者簡(jiǎn)介

王玉銀(1982-),女,山西省芮城縣人。碩士學(xué)位。講師,計(jì)算機(jī)專任教師。研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(shù)。

作者單位

桂林理工大學(xué)博文管理學(xué)院信息工程學(xué)院 廣西壯族自治區(qū)桂林市 541006

猜你喜歡
壓縮算法批處理列式
惡意批處理文件導(dǎo)致電腦黑屏、反復(fù)重啟、無(wú)響應(yīng)的原因分析及應(yīng)對(duì)思路
基于參數(shù)識(shí)別的軌道電路監(jiān)測(cè)數(shù)據(jù)壓縮算法研究
更正聲明
每筐多裝多少
PMU數(shù)據(jù)預(yù)處理及壓縮算法
基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計(jì)算方法的實(shí)現(xiàn)
讓課堂煥發(fā)創(chuàng)造活力
二年級(jí)萬(wàn)以內(nèi)數(shù)的加法和減法單元自測(cè)題
思南县| 北辰区| 读书| 青河县| 巧家县| 宜宾县| 阿尔山市| 富平县| 沈阳市| 谷城县| 伊春市| 临澧县| 西吉县| 东阿县| 腾冲县| 清水县| 民丰县| 通渭县| 兴义市| 惠安县| 泰来县| 乐亭县| 台北市| 杂多县| 镇远县| 武穴市| 焦作市| 乌兰察布市| 铁岭市| 贵州省| 兰考县| 微博| 略阳县| 酉阳| 江西省| 连州市| 麻江县| 德令哈市| 夏河县| 雷山县| 泗水县|