SQL编写规范和优化适用于Oracle.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL编写规范和优化适用于Oracle

SQL编写规范与优化; 一、概述 ; 二、SQL编写风格 ;2.2、SQL语句缩进与换行 sql语句中的关键字右对齐。 select/from/where/order by/group by等子句应独占一行。 select子句内容如果只有一项,应与 select 同占一行。 select子句内容如果多于一项,每一项都应独占一行,并在对应 select的基础上向右缩进8个字符。 from子句内容如果只有一项,应与 from同占一行。 from子句内容如果多于一项,每一项都应独占一行,并在对应from的基础上向右缩进4个字符。 where子句内容如果只有一项,应与 where同占一行。 where子句的条件如果有多项,每一个条件应独占一行,并以and开头,并在对应where的基础上向右缩进4个字符。 update set子句内容每一项单独占一行,无缩进。 insert子句内容每个表字段单独占一行,无缩进;values每一项单独占一行,无缩进 。;SQL语句缩进与换行示例: --select语句书写的正确示例 1??? select column_name from table_name where column_name =’xxxxxxxxx’; 2、 select a.column1, a.column2, b.column3 from table_name_1 a , table_name_2 b where a.column1 = b.column2 and b.stat= 2;;--update语句书写的正确示例 update table_name set list_stat = ‘xxx’, parent = ‘xxx’, name=‘xxx’ where list_no = ‘xxx‘ and 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. 关键字、保留字和左括号之间必须有一个空格。; 三、SQL语句编写规范 ;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, col2 from table_name where 1=1 and col1 0。 9、字符型字段必须加单引号,避免where查询条件做隐型转换时后出现混乱。 10、SQL 语句的注释: 应遵循各语言编码规范的代码注释要求。 对较为复 杂的 SQL语句应注释,并说明算法和功能。 对重要的计算应说明其功能。 ;四、SQL语句编写过程中的优化建议 ;尽量避免多表关联查询、特别是表之间的嵌套连接。 尽量使用exists、not exists 替代 in、not in(大部份情况下exists 、not exists的性能都比in 、not in 好)。 使用union 的时候如果没有去除重复数据的要求,建议尽量用union all替代。 尽量避免使用order by和group by排序操作,因为大量的排序操作影响系统性能。如必须使用排序操作,尽量建立在有索引的列上。 索引的建立应慎重考虑,不是越多越好。索引可以提高相应的select的效率,但同时也降低了INSERT、UPDATE 的效率。 Where 条件中的索引列应避免使用,not、 is null,is not null、 likke ‘%xxxx%’,’%xxx’,oracle系

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档