SQL编写规范与优化(适用于Oracle).ppt
《SQL编写规范与优化(适用于Oracle).ppt》由会员分享,可在线阅读,更多相关《SQL编写规范与优化(适用于Oracle).ppt(23页珍藏版)》请在三一办公上搜索。
1、SQL编写规范与优化,皮皮网运维部 2012.10,一、概述,本规范侧重于代码编写过程中SQL语句的编写规范问题,内容涉及编写风格、编写规范、SQL语句编写过程中的优化建议、不良SQL语句的优化等方面。,二、SQL编写风格,2.1、SQL语句的大小写SQL语句的关键字统一使用全小写或全大写的方式,例如:select,update,from,where,order,by,group by declare,begin,end等。标识符,变量和参数采用小写,如v_sal。数据库对象、列以及别名用小写。,2.2、SQL语句缩进与换行sql语句中的关键字右对齐。select/from/where/ord
2、er by/group by等子句应独占一行。select子句内容如果只有一项,应与 select 同占一行。select子句内容如果多于一项,每一项都应独占一行,并在对应 select的基础上向右缩进8个字符。from子句内容如果只有一项,应与 from同占一行。from子句内容如果多于一项,每一项都应独占一行,并在对应from的基础上向右缩进4个字符。where子句内容如果只有一项,应与 where同占一行。where子句的条件如果有多项,每一个条件应独占一行,并以and开头,并在对应where的基础上向右缩进4个字符。update set子句内容每一项单独占一行,无缩进。insert子句
3、内容每个表字段单独占一行,无缩进;values每一项单独占一行,无缩进。,SQL语句缩进与换行示例:-select语句书写的正确示例1、select column_namefrom table_namewhere column_name=xxxxxxxxx;2、select a.column1,a.column2,b.column3from table_name_1 a,table_name_2 bwhere a.column1=b.column2 and b.stat=2;,-update语句书写的正确示例update table_namesetlist_stat=xxx,parent=xx
4、x,name=xxxwhere list_no=xxxand city=xxx;,-Insert语句书写的正确示例insert into table_name(list_no,list_stat,parent,manifest_no,div_flag)values(bill020,1,0,000000000000007807,0);,2.3、SQL语句编写应遵循以下空格规则 1.SQL语句中不允许出现空行。2.SQL语句内的算术运算符、逻辑运算符(AND、OR、NOT)、比较运算符(=、=、BETWEEN AND)、IN、LIKE等运算符前后都应加一空格。3.逗号之后必须接一个空格。4.关键字
5、、保留字和左括号之间必须有一个空格。,三、SQL语句编写规范,1、表结构设计的时候尽量选择合适的数据类型、合适的长度、避免行链接、行迁移的出现,外键所在的字段一定要创建索引,否则,对主表进行操作,外键所在的子表有可能被完全封锁。2、SQL语句的语法应与所使用的数据库相适应。3、关键SQL语句,尽量简化,不要包含太多的嵌套,避免执行计划错误的可能,原则上不能超过2层。4、SQL语句包含多表连接时,建议使用表别名,对每个字段的使用都要带上表别名,例如:select a.col1,a.col2,b.col3 from table_name a,tableb b where a.col4=b.col5
6、;5、多表关联避免超过5个,可以通过临时表(表变量),简化复杂的关联。,6、使用SELECT语句时,禁止使用select*,应当指出具体查询的字段名,例如:select col1,col2,col3,from table_name;。7、使用INSERT语句时,禁止使用 insert into table_name values(?,?,?),不应不指定字段名直接插入VALUES,应指定插入的字段名,例如:insert into table_name(col1,col2,)values(?,?,)8、避免在where使用1=1,1=2这种表达式作为部分条件,例如:select col1,col
7、2 from table_name where 1=1 and col1 0。9、字符型字段必须加单引号,避免where查询条件做隐型转换时后出现混乱。10、SQL 语句的注释:应遵循各语言编码规范的代码注释要求。对较为复 杂的 SQL语句应注释,并说明算法和功能。对重要的计算应说明其功能。,四、SQL语句编写过程中的优化建议,应用逻辑复杂时,使用SQL实现困难,尽量使用程序去实现。建议使用hint固定关键SQL语句执行计划,原则上批量作业要用hint指定索引;在进行多条记录的增加、修改、删除时,建议使用批量提交,降低事务的提交频度。SQL语句要绑定变量实现SQL语句的共享,禁止使用常量。对于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 编写 规范 优化 适用于 Oracle
链接地址:https://www.31ppt.com/p-6520996.html