vertica-优化编码
来源:互联网 发布:java初学者书籍推荐 编辑:程序博客网 时间:2024/06/06 17:54
vertica有各种各样优秀的编码方式,由于起初表里面没有数据,导致编码不尽合理,可以使用dbd进行编码重新调整
三步
1,运行DB Designer进行增量的设计
2,增量设计之后,运行ANALYZE_STATISTICS收集统计信息
3,对增量设计的SQL运行EXPLAIN以验证是否使用了新的Projection
REFRESH
语法
REFRESH ( '[[db-name.]schema.]table_name [ , ... ]' )
例如
select refresh('tmp.JSLogRecord ');
MAKE_AHM_NOW
只有dbadmin有权限,保证数据一致,在wos中没有其他操作
语法
MAKE_AHM_NOW ( [ true ] )
例如
select make_ahm_now();
优化前
explain select count(*) from tmp.web_Dim_Page ;
------------------------------
QUERY PLAN DESCRIPTION:
------------------------------
explain select * from tmp.web_Dim_Page
Access Path:
+-STORAGE ACCESS for web_Dim_Page [Cost: 376, Rows: 8K] (PATH ID: 1)
| Projection: tmp.web_Dim_Page _b0
| Materialize: web_Dim_Page .Eid, web_Dim_Page .pageid, web_Dim_Page .pageinfo, web_Dim_Page .SourceDomain, web_Dim_Page .DomainNo, web_Dim_Page .NewDomain, web_Dim_Page .SiteType, web_Dim_Page .DOmaininfo, web_Dim_Page .IsMb, web_Dim_Page .Product, web_Dim_Page .SourceType, web_Dim_Page .CompanyName, web_Dim_Page .HomePageID, web_Dim_Page .ContentType, web_Dim_Page .SourceTime, web_Dim_Page .EUTIME
| Execute on: All Nodes
具体实战
vsql下跑
select DESIGNER_DESIGN_PROJECTION_ENCODINGS ('web.web_Dim_Page ','encodings.sql','false');
DESIGNER_DESIGN_PROJECTION_ENCODINGS
--------------------------------------
(1 row)
explain select * from tmp.web_Dim_Page ;
CREATE PROJECTION web_Dim_Page _DBD_31_seg_EncodingDesign /*+createtype(D)*/
(
Eid ENCODING COMMONDELTA_COMP,
pageid ENCODING DELTARANGE_COMP,
pageinfo,
SourceDomain,
DomainNo ENCODING COMMONDELTA_COMP,
NewDomain,
SiteType,
DOmaininfo,
IsMb,
Product,
SourceType,
CompanyName,
HomePageID,
ContentType,
SourceTime ENCODING COMMONDELTA_COMP,
EUTIME ENCODING BLOCKDICT_COMP
)
AS
SELECT web_Dim_Page .Eid,
web_Dim_Page .pageid,
web_Dim_Page .pageinfo,
web_Dim_Page .SourceDomain,
web_Dim_Page .DomainNo,
web_Dim_Page .NewDomain,
web_Dim_Page .SiteType,
web_Dim_Page .DOmaininfo,
web_Dim_Page .IsMb,
web_Dim_Page .Product,
web_Dim_Page .SourceType,
web_Dim_Page .CompanyName,
web_Dim_Page .HomePageID,
web_Dim_Page .ContentType,
web_Dim_Page .SourceTime,
web_Dim_Page .EUTIME
FROM tmp.web_Dim_Page
ORDER BY web_Dim_Page .Eid,
web_Dim_Page .pageid,
web_Dim_Page .pageinfo,
web_Dim_Page .SourceDomain,
web_Dim_Page .DomainNo,
web_Dim_Page .NewDomain,
web_Dim_Page .SiteType,
web_Dim_Page .DOmaininfo,
web_Dim_Page .IsMb,
web_Dim_Page .Product,
web_Dim_Page .SourceType,
web_Dim_Page .CompanyName,
web_Dim_Page .HomePageID,
web_Dim_Page .ContentType,
web_Dim_Page .SourceTime,
web_Dim_Page .EUTIME
SEGMENTED BY hash(web_Dim_Page .Eid, web_Dim_Page .pageid, web_Dim_Page .DomainNo, web_Dim_Page .SourceTime, web_Dim_Page .EUTIME, web_Dim_Page .SiteType, web_Dim_Page .DOmaininfo, web_Dim_Page .IsMb, web_Dim_Page .ContentType, web_Dim_Page .NewDomain, web_Dim_Page .Product, web_Dim_Page .SourceType, web_Dim_Page .CompanyName, web_Dim_Page .HomePageID, web_Dim_Page .pageinfo, web_Dim_Page .SourceDomain) ALL NODES KSAFE 1;
select refresh('tmp.web_Dim_Page ');
select make_ahm_now();
DROP PROJECTION tmp.web_Dim_Page CASCADE;
ALTER PROJECTION tmp.web_Dim_Page _DBD_31_seg_EncodingDesign RENAME TO web_Dim_Page ;
select ANALYZE_STATISTICS('tmp.web_Dim_Page ')
explain select * from tmp.web_Dim_Page ;
1,运行DB Designer进行增量的设计
2,增量设计之后,运行ANALYZE_STATISTICS收集统计信息
3,对增量设计的SQL运行EXPLAIN以验证是否使用了新的Projection
REFRESH
语法
REFRESH ( '[[db-name.]schema.]table_name [ , ... ]' )
例如
select refresh('tmp.JSLogRecord ');
MAKE_AHM_NOW
只有dbadmin有权限,保证数据一致,在wos中没有其他操作
语法
MAKE_AHM_NOW ( [ true ] )
例如
select make_ahm_now();
优化前
explain select count(*) from tmp.web_Dim_Page ;
------------------------------
QUERY PLAN DESCRIPTION:
------------------------------
explain select * from tmp.web_Dim_Page
Access Path:
+-STORAGE ACCESS for web_Dim_Page [Cost: 376, Rows: 8K] (PATH ID: 1)
| Projection: tmp.web_Dim_Page _b0
| Materialize: web_Dim_Page .Eid, web_Dim_Page .pageid, web_Dim_Page .pageinfo, web_Dim_Page .SourceDomain, web_Dim_Page .DomainNo, web_Dim_Page .NewDomain, web_Dim_Page .SiteType, web_Dim_Page .DOmaininfo, web_Dim_Page .IsMb, web_Dim_Page .Product, web_Dim_Page .SourceType, web_Dim_Page .CompanyName, web_Dim_Page .HomePageID, web_Dim_Page .ContentType, web_Dim_Page .SourceTime, web_Dim_Page .EUTIME
| Execute on: All Nodes
具体实战
vsql下跑
select DESIGNER_DESIGN_PROJECTION_ENCODINGS ('web.web_Dim_Page ','encodings.sql','false');
DESIGNER_DESIGN_PROJECTION_ENCODINGS
--------------------------------------
(1 row)
explain select * from tmp.web_Dim_Page ;
CREATE PROJECTION web_Dim_Page _DBD_31_seg_EncodingDesign /*+createtype(D)*/
(
Eid ENCODING COMMONDELTA_COMP,
pageid ENCODING DELTARANGE_COMP,
pageinfo,
SourceDomain,
DomainNo ENCODING COMMONDELTA_COMP,
NewDomain,
SiteType,
DOmaininfo,
IsMb,
Product,
SourceType,
CompanyName,
HomePageID,
ContentType,
SourceTime ENCODING COMMONDELTA_COMP,
EUTIME ENCODING BLOCKDICT_COMP
)
AS
SELECT web_Dim_Page .Eid,
web_Dim_Page .pageid,
web_Dim_Page .pageinfo,
web_Dim_Page .SourceDomain,
web_Dim_Page .DomainNo,
web_Dim_Page .NewDomain,
web_Dim_Page .SiteType,
web_Dim_Page .DOmaininfo,
web_Dim_Page .IsMb,
web_Dim_Page .Product,
web_Dim_Page .SourceType,
web_Dim_Page .CompanyName,
web_Dim_Page .HomePageID,
web_Dim_Page .ContentType,
web_Dim_Page .SourceTime,
web_Dim_Page .EUTIME
FROM tmp.web_Dim_Page
ORDER BY web_Dim_Page .Eid,
web_Dim_Page .pageid,
web_Dim_Page .pageinfo,
web_Dim_Page .SourceDomain,
web_Dim_Page .DomainNo,
web_Dim_Page .NewDomain,
web_Dim_Page .SiteType,
web_Dim_Page .DOmaininfo,
web_Dim_Page .IsMb,
web_Dim_Page .Product,
web_Dim_Page .SourceType,
web_Dim_Page .CompanyName,
web_Dim_Page .HomePageID,
web_Dim_Page .ContentType,
web_Dim_Page .SourceTime,
web_Dim_Page .EUTIME
SEGMENTED BY hash(web_Dim_Page .Eid, web_Dim_Page .pageid, web_Dim_Page .DomainNo, web_Dim_Page .SourceTime, web_Dim_Page .EUTIME, web_Dim_Page .SiteType, web_Dim_Page .DOmaininfo, web_Dim_Page .IsMb, web_Dim_Page .ContentType, web_Dim_Page .NewDomain, web_Dim_Page .Product, web_Dim_Page .SourceType, web_Dim_Page .CompanyName, web_Dim_Page .HomePageID, web_Dim_Page .pageinfo, web_Dim_Page .SourceDomain) ALL NODES KSAFE 1;
select refresh('tmp.web_Dim_Page ');
select make_ahm_now();
DROP PROJECTION tmp.web_Dim_Page CASCADE;
ALTER PROJECTION tmp.web_Dim_Page _DBD_31_seg_EncodingDesign RENAME TO web_Dim_Page ;
select ANALYZE_STATISTICS('tmp.web_Dim_Page ')
explain select * from tmp.web_Dim_Page ;
0 0
- vertica-优化编码
- Vertica DBD 分析优化设计
- Vertica DBD 分析优化设计
- Vertica的这些事<十四>—— vertica优化
- vertica
- Vertica的这些事<十>—— vertica中group by 和join 语句的优化
- Vertica 常用命令
- vertica-ksafe
- vertica-卸载
- vertica-安装
- vertica-console
- vertica-备份
- Vertica用法
- JAVA程序编码优化
- .net系统编码优化
- c#编码优化
- Java编码优化
- Oracle SQL 编码优化
- UnsupportedOperationException
- 使用jquery内容过滤选择器
- 网卡驱动设计---架构分析加回环网卡驱动设计(网卡驱动上)
- TextView(怎么用代码动态设置字体颜色)
- LeetCode-34.Search for a Range
- vertica-优化编码
- 浅谈SPI总线
- 使用jquery可见性过滤选择器
- HTML5调用手机摄像头拍照
- python-super函数
- jquery属性过滤选择器
- 1002. 写出这个数 (20)
- [INS-40406] 未检测到现有的 Oracle Grid Infrastructure 软件
- iOS中模拟器常用操作