




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Leiyry北京华胜天成科技股份有限公司2011年3月报表优化原则l使用汇总表分区使用汇总表分区l避免避免left joinl去除冗余代码去除冗余代码l复杂视图物理化复杂视图物理化l增加中间表增加中间表l汇总表字段冗余汇总表字段冗余使用汇总表分区lsel * from pims_pmart2.tb_fct_sum_det_m where statsmt=201101lsel * from pims_pmart2.tb_fct_sum_det_m where statsmt=cast(201101 as date format yyyymm)使用汇总表分区1) First, we lock a
2、distinct pims_pmart2.pseudo table for read on a RowHash to prevent global deadlock for pims_pmart2.tb_fct_sum_det_m. 2) Next, we lock pims_pmart2.tb_fct_sum_det_m for read. 3) We do an all-AMPs RETRIEVE step from a single partition of pims_pmart2.tb_fct_sum_det_m with a condition of ( pims_pmart2.tb
3、_fct_sum_det_m.StatsMt = 201101) with a residual condition of (pims_pmart2.tb_fct_sum_det_m.StatsMt = 201101) into Spool 1 (group_amps), which is built locally on the AMPs. The size of Spool 1 is estimated with no confidence to be 5,615,348 rows (662,611,064 bytes). The estimated time for this step
4、is 0.47 seconds. 4) Finally, we send out an END TRANSACTION step to all AMPs involved in processing the request. - The contents of Spool 1 are sent back to the user as the result of statement 1. The total estimated time is 0.47 seconds.使用汇总表分区 1) First, we lock a distinct pims_pmart2.pseudo table fo
5、r read on a RowHash to prevent global deadlock for pims_pmart2.tb_fct_sum_det_m. 2) Next, we lock pims_pmart2.tb_fct_sum_det_m for read. 3) We do an all-AMPs RETRIEVE step from pims_pmart2.tb_fct_sum_det_m by way of an all-rows scan with a condition of ( (pims_pmart2.tb_fct_sum_det_m.StatsMt (DATE,
6、FORMAT yyyymm)= DATE 2011-01-01) into Spool 1 (group_amps), which is built locally on the AMPs. The size of Spool 1 is estimated with no confidence to be 5,615,348 rows (662,611,064 bytes). The estimated time for this step is 2.91 seconds. 4) Finally, we send out an END TRANSACTION step to all AMPs
7、involved in processing the request. - The contents of Spool 1 are sent back to the user as the result of statement 1. The total estimated time is 2.91 seconds. 使用汇总表分区CREATE MULTISET TABLE pims_pmart2.tb_fct_sum_det_m ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( StatsMt C
8、HAR(6) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 统计日期统计日期 NOT NULL, CpOrgCd CHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政组织机构代码邮政组织机构代码 NOT NULL, PostBusnTypCd CHAR(6) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 业务种类代码业务种类代码 NOT NULL, PostAttr CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TIT
9、LE 函件属性函件属性 NOT NULL, SumInd CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 汇总数据标志汇总数据标志 NOT NULL, SysSrc CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 系统来源系统来源 NOT NULL, ProvDistCd CHAR(6) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 省行政区划代码省行政区划代码 NOT NULL, CpBusnDivCd CHAR(2) CHARACTER SET
10、 LATIN NOT CASESPECIFIC TITLE 业务专业代码业务专业代码 NOT NULL,)UNIQUE PRIMARY INDEX ( StatsMt ,CpOrgCd ,PostBusnTypCd ,PostAttr ,SumInd ,SysSrc ,ProvDistCd )PARTITION BY RANGE_N(CAST(StatsMt ) AS DATE FORMAT YYYYMM) BETWEEN DATE 2000-01-01 AND DATE 2100-12-31 EACH INTERVAL 1 MONTH );使用汇总表分区CREATE MULTISET TAB
11、LE pims_pmart2.tb_fct_sum_det_d ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( StatsDt DATE FORMAT YYYYMMDD TITLE 统计日期 NOT NULL, CpOrgCd CHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政组织机构代码邮政组织机构代码 NOT NULL, PostBusnTypCd CHAR(6) CHARACTER SET LATIN NOT CASESPECIFIC
12、TITLE 业务种类代码业务种类代码 NOT NULL, PostAttr CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 函件属性函件属性 NOT NULL, SumInd CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 汇总数据标志汇总数据标志 NOT NULL, SysSrc CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 系统来源系统来源 NOT NULL, ProvDistCd CHAR(6) CHARACTER SET L
13、ATIN NOT CASESPECIFIC TITLE 省行政区划代码省行政区划代码 NOT NULL, CpBusnDivCd CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 业务专业代码业务专业代码 NOT NULL)UNIQUE PRIMARY INDEX ( StatsDt ,CpOrgCd ,PostBusnTypCd ,PostAttr ,SumInd ,SysSrc ,ProvDistCd )PARTITION BY RANGE_N(StatsDt BETWEEN DATE 2000-01-01 AND DATE 2100-1
14、2-31 EACH INTERVAL 1 DAY );使用汇总表分区l分区分区DDLl分区允许类型:数字型、日期型分区允许类型:数字型、日期型l分区数量限制:分区数量限制:65535lSQL中使用分区字段中使用分区字段l按照按照DDL使用分区字段使用分区字段报表优化原则l使用汇总表分区使用汇总表分区l避免避免left joinl去除冗余代码去除冗余代码l复杂视图物理化复杂视图物理化l增加中间表增加中间表l汇总表字段冗余汇总表字段冗余避免left joinl汇总表中维度字段已经做过处理,无需汇总表中维度字段已经做过处理,无需left join代码表代码表l含有累计数报表含有累计数报表l不同主题汇
15、总表关联不同主题汇总表关联l汇总表有无数据,需要保证表样报表汇总表有无数据,需要保证表样报表累计数报表累计数报表Sel from 累计数表累计数表Where UnionSel from 当期数表当期数表Where 注意字段类型和长度注意字段类型和长度不同主题汇总表关联不同主题汇总表关联Sel from 主题一主题一Where UnionSel from 主题二主题二Where 注意字段类型和长度注意字段类型和长度固定表样固定表样Sel from 代码表代码表1,代码表,代码表2 -笛卡尔积笛卡尔积Where UnionSel from 汇总表汇总表Where 注意字段类型和长度,注意笛卡尔积的
16、数量注意字段类型和长度,注意笛卡尔积的数量报表优化原则l使用汇总表分区使用汇总表分区l避免left joinl去除冗余代码去除冗余代码l复杂视图物理化复杂视图物理化l增加中间表增加中间表l汇总表字段冗余汇总表字段冗余报表优化原则l使用汇总表分区使用汇总表分区l避免left joinl去除冗余代码去除冗余代码l复杂视图物理化复杂视图物理化l增加中间表增加中间表l汇总表字段冗余汇总表字段冗余复杂视图物理化-案例l自定义维度自定义维度n自定义机构自定义机构tb_prt_cporg_unionn自定义业务种类自定义业务种类TB_CDE_CPBUSNTYP_UNION自定义机构CREATE MULTIS
17、ET TABLE pims_pdata.tb_prt_cporg_union , ( CpOrgCd VARCHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政机构代码邮政机构代码 NOT NULL, CpOrgNm VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政机构名称邮政机构名称 NOT NULL, CpOrgFullNm VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政机构全称邮政机构全称, SubCp
18、OrgCd VARCHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 下级邮政机构代下级邮政机构代码码, SubCpOrgLevCd CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 下级邮政机构级下级邮政机构级别代码别代码, CpOrgLevCd CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政机构级别代码邮政机构级别代码, ParntCpOrgCd VARCHAR(8) CHARACTER SET LATIN NOT CASESPE
19、CIFIC TITLE 上级邮政机构上级邮政机构代码代码, SortNum DECIMAL(11,0) TITLE 顺序号, unionmod INTEGER)PRIMARY INDEX PXI ( SubCpOrgCd )PARTITION BY unionmod ;自定义机构/*机构和自定义机构,机构和自定义机构,unionmod=1是机构,是机构,unionmod=2是自定义机构,是自定义机构,unionmod=3是自定义机构下转是自定义机构下转*/ and ( (b.unionmod=1 and (#prompt(trace,integer,0)# in (0) and b.CpOrg
20、Cd in (#csv( split ( , prompt(area,token,) )#) or (#prompt(trace,integer,0)# in (1) and b.ParntCpOrgCd in (#csv( split ( , prompt(area,token,) )#) ) or (b.unionmod=2 and (#prompt(trace,integer,0)# in (-2) and b.CpOrgCd in (#csv( split ( , prompt(area,token,) )#) ) or (b.unionmod=3 and (#prompt(trace
21、,integer,0)# in (-3) and b.ParntCpOrgCd in (#csv( split ( , prompt(area,token,) )#) ) )自定义业务种类CREATE MULTISET TABLE pims_pdata.TB_CDE_CPBUSNTYP_UNION , ( CpBusnDivCd CHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政业务专业代码邮政业务专业代码 NOT NULL, CpBusnTypCd VARCHAR(6) CHARACTER SET LATIN NOT CASESPECI
22、FIC TITLE 邮政业务种类代邮政业务种类代码码 NOT NULL, CpBusnTypDesc VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 邮政业务种邮政业务种类描述类描述, SubCpBusnTypCd VARCHAR(6) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 下级邮政业下级邮政业务种类代码务种类代码, StrtDt DATE FORMAT YYYYMMDD TITLE 起始日期, EndDt DATE FORMAT YYYYMMDD TITLE 结束日期, CpBusn
23、TypLev INTEGER, ParntCpBusnTypCd VARCHAR(6) CHARACTER SET LATIN NOT CASESPECIFIC TITLE 上级邮政上级邮政业务种类代码业务种类代码, SortNum DECIMAL(10,0) TITLE 排序序号, unionmod INTEGER)PRIMARY INDEX PXI ( CpBusnDivCd ,SubCpBusnTypCd )PARTITION BY unionmod ;自定义业务种类/*业务种类和自定义业务种类,业务种类和自定义业务种类,unionmod=1是业务种类,是业务种类,unionmod=2是自定义业务种类是自定义业务种类,unionmod=3是自定义业务种类下转是自定义业务种类下转*/and ( (f.unionmod=1 and (#prompt(kindtrace,integer,0)# = 0 and f.CpBusnTypCd in (#csv( split ( , prompt(kindvalue,token,) )#) or (#prompt(kindtrace,integer,0)# = 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025濮阳市采购合同范本
- 2025简易版本公寓买卖合同
- 2025城镇房产交易合同范本
- 《创业融资策略》课件
- 2025工程招投标与合同管理案例分析:探秘合同风险与合规策略
- 2025年的家畜购销合同
- 《生物的多样性:课件中的动物主要类群》
- 《蛇咬伤应急处理》课件
- 六年级品德与社会上册《信息社会面面观》教学设计1 辽师大版
- 人教统编版选择性必修 中册11.1 过秦论教案
- 2025年中考数学分类复习:锐角三角函数及其应用(56题)(原卷版)
- 湖北省襄阳襄城区四校联考2025届中考化学模拟试卷含解析
- 100以内加减法练习题
- 微训练 一文多考 备考高效之小说《十八岁的李响》蔡楠-教师版
- 课件:《科学社会主义概论(第二版)》第四章
- 2025年上半年江苏省苏州市总工会招录社会化工会工作者18人易考易错模拟试题(共500题)试卷后附参考答案
- 工厂废料运输清理协议
- 2025超市出兑合同书模板
- 《基于宁德时代的财务报表的公司财务分析》4100字(论文)
- 湖南省长沙市雅礼实验中学-主题班会-《阳光心态美丽青春》【课件】
- 提高单病种上报率
评论
0/150
提交评论