av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Infobright數(shù)據(jù)庫查詢優(yōu)化

前面已經(jīng)分析了Infobright的構(gòu)架,簡要介紹了Infobright的壓縮過程和工作原理?,F(xiàn)在來討論查詢優(yōu)化的問題。

  

(1)配置環(huán)境

在Linux下面,Infobright環(huán)境的配置可以根據(jù)README里的要求,配置brighthouse.ini文件。

(2) 選取高效的數(shù)據(jù)類型

參見《細數(shù)Infobright的相關(guān)數(shù)據(jù)類型》。

(3)使用comment lookup

comment lookup只能顯式地使用在char或者varchar上面。Comment Lookup可以減少存儲空間,提高壓縮率,對char和varchar字段采用comment lookup可以提高查詢效率。

Comment Lookup實現(xiàn)機制很像位圖索引,實現(xiàn)上利用簡短的數(shù)值類型替代char字段已取得更好的查詢性能和壓縮比率。CommentLookup的使用除了對數(shù)據(jù)類型有要求,對數(shù)據(jù)也有一定的要求。一般要求數(shù)據(jù)類別的總數(shù)小于10000并且當前列的單元數(shù)量/類別數(shù)量大于10。Comment Lookup比較適合年齡,性別,省份這一類型的字段。

comment lookup使用很簡單,在創(chuàng)建數(shù)據(jù)庫表的時候如下定義即可:

act   char(15)   comment 'lookup',

part  char(4) comment 'lookup',

(4)盡量有序地導入數(shù)據(jù)

前面分析過Infobright的構(gòu)架,每一列分成n個DP,每個DPN列面存儲著DP的一些統(tǒng)計信息。有序地導入數(shù)據(jù)能夠使不同的DP的DPN內(nèi)的數(shù)據(jù)差異化更明顯。比如按時間date順序?qū)霐?shù)據(jù),那么前一個DP的max(date)<=下一個DP的min(date),查詢的時候就能夠減少可疑DP,提高查詢性能。換句話說,有序地導入數(shù)據(jù)就是使DP內(nèi)部數(shù)據(jù)更加集中,而不再那么分散。

(5)使用高效的查詢語句。

這里涉及的內(nèi)容比較多了,總結(jié)如下:

盡量不適用or,可以采用in或者union取而代之

減少IO操作,原因是infobright里面數(shù)據(jù)是壓縮的,解壓縮的過程要消耗很多的時間。

查詢的時候盡量條件選擇差異化更明顯的語句

Select中盡量使用where中出現(xiàn)的字段。原因是Infobright按照列處理的,每一列都是單獨處理的。所以避免使用where中未出現(xiàn)的字段可以得到較好的性能。

限制在結(jié)果中的表的數(shù)量,也就是限制select中出現(xiàn)表的數(shù)量。

盡量使用獨立的子查詢和join操作代替非獨立的子查詢

盡量不在where里面使用MySQL函數(shù)和類型轉(zhuǎn)換符

盡量避免會使用MySQL優(yōu)化器的查詢操作

使用跨越Infobright表和MySQL表的查詢操作

盡量不在group by 里或者子查詢里面使用數(shù)學操作,如sum(a*b)。

select里面盡量剔除不要的字段。

Infobright執(zhí)行查詢語句的時候,大部分的時間都是花在優(yōu)化階段。Infobright優(yōu)化器雖然已經(jīng)很強大,但是編寫查詢語句的時候很多的細節(jié)問題還是需要程序員注意?!?/p>
文章標題:Infobright數(shù)據(jù)庫查詢優(yōu)化
文章出自:http://uogjgqi.cn/article/dhpeopd.html

掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流