infobright資料倉儲中的comment lookup

來源:互聯網
上載者:User

infobright資料倉儲中的comment lookup

infobright資料倉儲能在高強度的壓縮中把大量的資料壓縮儲存,平時在不斷查詢的過程就是在做資料解壓的過程,當然具體的詳細介紹在以前有提過,這裡就不做過程的介紹()在infobright中支援所有的MySQL原有的資料類型,其中對整形的效率會比其他類型高,這一點同MySQL差不多,在infobright中比較高效的類型如下:

1、TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
2、DECIMAL(盡量減少小數點後的精度)
3、DATE ,TIME

這3種類型的資料能有比較高的壓縮比例及查詢速度,而效率比較低的、不推薦使用的資料類型有這幾種:

1、BINARY VARBINARY(二進位類型)
2、FLOAT
3、DOUBLE
4、VARCHAR
5、TINYTEXT TEXT(可變長度的非Unicode類型)

這些資料類型在使用的過程中效率比較低且壓縮比例並不是很高,其中VARCHAR欄位在MySQL中效率就不如CHAR欄位,當然在某些業務情境下可能會不得不用到CHAR(VARCHAR)的時候又經常需要頻繁的查詢時,但資料的記錄數又並不是很多時(不多於10000行,且資料的類型多於10種以上,類似於省份、UUID這類的資料),就可以通過comment lookup的方式建立建表時的DDL來提高平時查詢的效率如下:

#原建表DDL

CREATE TABLE `test_default` (

  `dstphone` varchar(11) DEFAULT NULL,

  `gateid` varchar(255) DEFAULT NULL

) ENGINE=BRIGHTHOUSE DEFAULT CHARSET=utf8;

#comment lookup建表DDL

CREATE TABLE `test_lookup` (

  `dstphone` varchar(11) DEFAULT NULL COMMENT 'lookup',

  `gateid` varchar(255) DEFAULT NULL COMMENT 'lookup'

) ENGINE=BRIGHTHOUSE DEFAULT CHARSET=utf8;


這裡需要注意的是comment lookup的方式目前僅有在CHAR(VARCHAR)中能使用,其次在平時帶來更高的查詢效率所帶來的代價就是磁碟開銷,因為infobright在平時查詢的時候就是在做解壓的過程,所以使用comment lookup的方式就是降低壓縮比例,在查詢的時候能更快速的解壓資料,如下可以看出comment lookup的方式同預設的建表時不同的壓縮比例

查詢效率如下:

可以看相同的資料下所佔用磁碟空間,但相應的在查詢記錄不能超過10000行,不然反而還會降低其效率:

所以在使用的過程中還需要根據實際情況來選擇。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.