SQL编码规范(V1.00)
文 档 信 息
文档名称:SQL编码规范
电子文档:
版本号: 1.00密
级:
保密
文档编号:
编写人:马云日
期:
2007-03-27
校对人:日
期:
审核人:日
期:
批准人:日
期:
更 改 记 录
更改序号更改原
因
更改
页码
更改
前版
本号
更改后
版本号
更改
人
生效日
期
备
注
目录
1注释规范 6truncate可以加条件吗
1.1.一般性注释 6
1.2.函数文本注释 6
2.排版格式 7
2.1.缩进 7
2.2.换行 8
2.3.空格 10
2.4.大小写 10
2.5.对齐 10
3.命名规则 11
3.1.输入变量 11
3.2.输出变量 11
3.3.内部变量 11
3.4.游标命名 11
4.编码规范 11
4.1.不等于统一使用"<>" 11
4.2.使用表的别名 11
4.3.使用SELECT语句时,必须指出列名 12
4.4.使用INSERT语句时,必须指定插入的字段名。 12
4.5.减少子查询的使用 12
4.6.适当添加索引以提高查询效率 12
4.7.不要在WHERE字句中对索引列施以函数 12
4.8.不要使用数据库的类型自动转换功能,使用显式的类型转换 12 4.9.应使用变量绑定实现SQL语句共享,避免使用硬编码 12
4.10.用执行计划分析SQL性能 14
附录A:Oracle SQL性能优化 14
A.1选用适合的ORACLE优化器 14
A.2访问TABLE的方式 15
A.3共享SQL语句 15
A.4选择最有效率的表名顺序(只在基于规则的优化器中有效) 17 A.5WHERE子句中的连接顺序 19
A.6SELECT子句中避免使用 ‘ * ‘ 19
A.7减少访问数据库的次数 19
A.8使用DECODE函数来减少处理时间 21
A.9整合简单,无关联的数据库访问 22
A.10删除重复记录 23
A.11用TRUNCATE替代DELETE全表记录 23
A.12尽量多使用COMMIT 23
A.13计算记录条数 24
A.14用Where子句替换HAVING子句 24
A.15减少对表的查询 24
A.16通过内部函数提高SQL效率 26
A.17使用表的别名(Alias) 27
A.18用EXISTS替代IN 27
A.19用NOT EXISTS替代NOT IN 28
A.20用表连接替换EXISTS 29
A.21用EXISTS替换DISTINCT 30
A.22识别'低效执行'的SQL语句 31
A.23使用TKPROF 工具来查询SQL性能状态 31
A.24用EXPLAIN PLAN 分析SQL语句 32
A.25用索引提高效率 34
A.26索引的操作 34
A.27基础表的选择 36
A.28多个平等的索引 37
A.29等式比较和范围比较 38
A.30不明确的索引等级 39
A.31强制索引失效 40
A.32避免在索引列上使用计算 41
A.33自动选择索引 42
A.34避免在索引列上使用NOT 42
A.35用>=替代> 44
A.36用UNION替换OR (适用于索引列) 44
A.37用IN来替换OR 48
A.38避免在索引列上使用IS NULL和IS NOT NULL 49 A.39总是使用索引的第一个列 50
A.40ORACLE内部操作 51
A.41用UNION-ALL 替换UNION ( 如果有可能的话) 51 A.42使用提示(Hints) 53
A.43用WHERE替代ORDER BY 54
A.44避免改变索引列的类型 56
A.45需要当心的WHERE子句 57
A.46连接多个扫描 58
A.47CBO下使用更具选择性的索引 60
A.48避免使用耗费资源的操作 60
A.49优化GROUP BY 61
A.50使用日期 62
A.51使用显式的游标(CURSORs) 62
A.52优化EXPORT和IMPORT 62
A.53分离表和索引 63
1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论