2.5 常用命名规范
在数据库中常用到表,序列,过程,触发器,索引等的命名规范
2.5.1 表的命名规范
2.5.1.1 表的规范
1、表的命名应该简单明了,禁止使用关键字作为表名。
2、表明应以下划线作为作为单词的划分,增量表应该添加后缀的日期,例如:t_ent_baseinfo_20181024
3、同一模块的表使用相同的前缀,表名含义简单明了
4、表名的长度不得超过40个字符
2.5.1.2 字段的命名规范
1、字段使用英文单词的全称或简写,意思简单明了,单词之间以下划线分割,禁止使用驼峰规则。
2、各表之间的相同的字段的含义保持一致
2.5.2 索引的命名规范
索引的创建要以表明加字段名加INDEX作为组合使用,例如:t_ent_baseinfo_pripid_index
2.5.3 函数命名规范
1、函数的名字禁止超过40个字符
2、数据处理的过程采用proc加业务的名字,例如:proc_t_ent_baseinfo_sink2hdfs该名字代表把t_ent_baseinfo表中的数据加载到HDFS上
3、公共方法采用fn加业务的名字,例如:fn_t_ent_baseinfo_convert_finled表示在表t_ent_baseinfo中转换字段
2.5.4 视图命名规范
1、视图采用v加表明加加具体的业务含义,例如:v_t_ent_baseinfo_convert_finled表示在表t_ent_baseinfo中字段的转换即可。
2.6 SQL使用规范
2.6.1 SQL最基本的原则
1、代码行清晰、整齐、层次分明、结构性强,易于阅读。
2、代码中应具备必要的注释以增强代码的可读性和可维护性。
3、代码应充分考虑执行效率,保证代码的高效性。
2.6.2 避免不必要的操作
1、避免使用select * from tablename查询数据与字段信息
2、 查询记录行的个数不要使用count(*),而要制定一个有索引的字段
3、如果有分区表,尽量把分区键作为查询的第一个条件
4、删除表中的所有数据时,要使用truncate不要使用delete
5、查询语句中查询条件尽量在索引字段上,避免做大表的扫描
6、避免在索引上进行计算,例如
低效:
SELECT * FROM DEPT WHERE SAL * 12 > 25000;
高效:
SELECT * FROM DEPT WHERE SAL > 25000 / 12;
- 避免在索引列上使用IS NULL和IS NOT NUL,例如:
低效:(索引失效)
SELECT … FROM DEPARTMENT WHERE DEPT_CODE IS NOT NULL;
高效:(索引有效)
SELECT … FROM DEPARTMENT WHERE DEPT_CODE >=0;