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小时内删除。