- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据仓库设编码规范-3.0
PL/SQL编码规范(八) * PL/SQL编码规范: (十四)、注释编码规则 (1)、对较为复杂的SQL语句应注释,并说明算法和功能。 (2)、注释应单独成行,并放在语句前面 (3)、应对不易理解的分支条件表达式加注释 (4)、对重要的计算应说明其功能 (5)、过长的函数实现,应将其语句按实现的功能分段加以概括性说明 对常量或变量注释时,应注释被保存值的含义,宜包括合法取值的范围。 PL/SQL编码规范(九) * PL/SQL编码规范: (十五)、开发过程中,尽量保证设计文档和数据库物理表结构一致变化。 资源允许的情况下,安排专人负责数据库设计、文档管理和数据库同步更新。 (十六)、尽量不要使用触发器,不便于调试,跟踪和监控。 (十七)、相邻两层要求遵循最基本的守恒原则。 比方说: STAGE1:FTP文件下载,下载前后文件大小相同或误差在10%以内。 STAGE2:数据装载,接口文件总记录数=入库记录数+丢弃记录数+错误记录数 STAGE3:调度守恒,每天所有的调度过程都被调度,没有某个过程调度缺失 PL/SQL编码规范(十) * PL/SQL编码规范: (十八)、每个过程代码行控制在200到250行以内,不要太长。 (十九)、避免每个字段单独占一行。 (二十)、每个过程需要注释,包括: 作者,开发日期,功能简单说明,调用示例等。 (二十一)、所有过程都可以重复调度,在原始数据没有变化的情况下,应该产生同样的输出。 (二十二)、入库接口表在该接口处理过程成功调度后,方可清除。其它任何情况下不可清除。 (二十三)、在数据仓库中,DW到DW_M层次结构中,若非必要,不要增加保留或自增序列字段。 培训大纲 一、目的和范围 二、数据仓库体系架构 三、分级存储(数据生命周期) 四、数据库对象命名规范 五、SQL编码规范 六、PL/SQL编码规范 七、代码优化规则 八、日志 * 索引优化规则(一) * 索引优化规则: (一)、索引的建立应慎重考虑,不是越多越好,索引可以提高相应的SELECT的效率, 但同时也降低了INSERT、UPDATE和DELETE的效率。 (二)、被查询列有大量重复数据时,如状态标志,可考虑建立位图索引(仅限于DW环境). (三)、在业务允许的情况下,查询列、排序列与索引列的次序保持一致。 (四)、应避免在WHERE子句索引列上使用函数或者表达式。示例如下: CREATE INDEX ix_emp_hire_date ON emp(hire_date); select * from emp where to_char(hire_date,’yyyymmdd’)=; where子句应修改为: where hire_date=to_date(,’yyyymmdd’) and hire_dateto_date(,’yyyymmdd’) 索引优化规则(二) * 索引优化规则: (五)、索引列的比较应尽量避免使用,NOT (六)、应尽量避免在WHERE子句中对索引列使用LIKE ‘%xxx%’,’%xxx’ (七)、可在WHERE子句中对索引列使用LIKE ‘xxx%’ (八)、应尽量使用与索引列数据类型一致的比较值。 避免索引列值进行数据类型隐式转换,容易导致不必要的运行时错误和错误的执行计划。 在WHERE子句中应注意比较值与索引列数据类型的一致性, 应显示转换比较值使其与索引列数据类型保持一致。 (九)、对于复合索引,WHERE子句中必须包含索引的主导列,才能保证使用到索引。 例如: CREATE INDEX ix_emp_id ON emp(emp_id,hire_date,dept_id); 其主导列是 (1).emp_id (2).emp_id,hire_date
文档评论(0)