To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed.
SQL语句中除存储字符外均要求英文字母全部大写
SQL语句中除存储字符外均要求英文字母全部大写
对较为复杂的SQL语句加上注释,说明算法、功能
WHERE子句禁止出现1=1,实施地防火墙会过滤掉,导致报错
禁止使用SELECT *,应把具体字段名写出
关联时使用表别名
二级问题:规范性问题
一
题
易
读
性
级
问
:
GRIS事业部-设计部-数据库组
整洁成就卓越代码
细节之中自有天地
Oracle编码规范
按照问题严重程度,把问题从低到高分为四类
禁止使用SELECT *
SQL语句中除存储字符外均要求英文字母全部大写
WHERE子句禁止出现1=1,实施地防火墙会过滤掉,导致报错
干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础
尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷
问题分类
性能问题
易读性问题
规范性问题
逻辑问题
一级
二级
三级
四级
规范标准,省时高效
随心所欲,事倍功半
缺失关联条件导致笛卡尔积,各表数据量相乘就是笛卡尔结果集的大小,数据量大时可导致临时表空间爆满
上下文逻辑不一致
含策略的表未先使策略失效
删表前先使外键失效
除去分页,子查询中禁止使用ORDER BY
禁止使用NOT IN以及NOT EXISTS
避免使用视图作多表关联
禁止嵌套子查询过多
尽量不用 循 环
三级问题 性能问题
禁止使用GOTO或RETURN语句提高可读性
避免数据类型隐士转换
四级问题: 逻辑问题
数据处理逻辑性错误
四级问题: 逻辑问题
笛卡尔积问题
函数转换会导致索引失效等问题
避免嵌套连接
尽量使用Oracle原生函数