- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京用友软件股份有限公司 银行产品开发部 SQL开发规范
作者: 共 NUMPAGES 6页 第 PAGE 1页
※客户化开发组※
SQL开发规范
作者:
评审:
批准:
发布日期:2012/2/13
当前版本:V0.1
修订历史纪录
*A – 追加 M – 修改 D – 删除
版本
改版日期
改版说明*
作者
评审
批准
V0.1
2012/2/13
A
创建
刘振
目 录
TOC \o 1-3 \h \z \u 修订历史纪录 2
1 书写规范 4
2 性能优化规范 5
SQL编程规范侧重于代码编写过程中SQL语句的编写规范问题,内容涉及书写风格、性能优化等方面。
规范中用★标示的内容为必须遵守的条例,其余的可视为建议。
书写规范
SQL语句全部使用小写。★
引用字符时用单引号。如:update testable set idcol=’abcd’。 ★
连接符或运算符or、in、and、=、=、=, +,- 等前后加上一个空格。
严禁使用select * …….形式的语句,必须指出select的具体字段,即select col1, col2,… from tablea where ….★
严禁使用 insert into table values(?,?,?),必须指出具体要赋值的字段,即 insert into tablea (col1, col2,…) values(?,?,…)★
SQL语句包含多表连接时,建议对每个表命名别名,对每个字段的使用都要带上表别名,即 select a.col1, a.col2, b.col3 from tablea a, tableb b where a.col4=b.col5
避免隐含的类型转换。例如在where子句中numeric 型和int型的列的比较或相加。★
读取是指通过JDBC读到的数据格式,保存是指保存在VO中的数据格式,插入或者更新是指insert或者update语句中的数据格式。
整型字段:读取时根据字段设置保存为Integer或者Long。
数字型字段:读取为BigDecimal,并保存为UFDouble,插入或者更新时为BigDecimal。
字符型字段:读取为String,并保存为String,插入或者更新为String。
布尔型字段:读取为String(‘Y’ OR ‘N’),并保存为UFBoolean,插入或者更新时为String(‘Y’ OR ‘N’)。
时间字段:读取为String,并保存为UFDateTime,插入或者更新时的时间格式由中间件统一处理,有单独需求的要申请后才能决定。
在子查询中前后必须加上括号, select col1, col2 from tablea where col3 in ( select col4 from tableb where col40)★
性能优化规范
尽量使用prepareStatement,利用预处理功能。
在进行多条记录的增加、修改、删除时,建议使用批处理功能,批处理的次数以整个SQL语句不超过相应数据库的SQL语句大小的限制为准。
建议每条SQL 语句中in中的元素个数在500以下,如果个数超过时,应拆分为多条SQL语句。禁止使用xx in(‘’,’’….) or xx in(‘’,’’,’’)。★
禁止使用or 超过 500,如 xx =’123’ or xx=’456’。 ★
尽量不使用外连接。
禁止使用not in 语句,建议用not exist。★
禁止使用Union, 如果有业务需要,请拆分为两个查询。★
禁止在一条SQL语句中使用3层以上的嵌套查询,如果有,请考虑使用临时表或中间结果集。★
尽量避免在一条SQL语句中从= 4个表中同时取数,对于仅是作为过滤条件关联,但不涉及取数的表,不参与表个数计算;如果必须关联4个或4个以上表,尽量采用子查询的方式。
尽量避免使用order by和group by排序操作,因为大量的排序操作影响系统性能。如必须使用排序操作,尽量建立在有索引的列上。
对索引列的比较,尽量避免使用NOT 或 !=,可以考虑拆分为几个条件。如col1 是索引列,条件col1 !=0 可以拆分为col1 0 or col2 0
任何对列的操作都将导致表扫描,所以应尽量将数据库函数、计算表达式写在逻辑操作符右边。
在对char类型比较时,建议不要使用rtrim()函数,应该在程序中将不足的长度补齐。
用多表连接代替EXISTS子句。
如果有多
您可能关注的文档
- 2M.02.02.01 ××ERP-U9项目实施调研问卷-基本信息.docx
- 2M.02.02.06 ××ERP-U9项目实施调研问卷-生产管理.docx
- 2M.02.02.05 ××ERP-U9项目实施调研问卷-需求计划.docx
- 2M.02.02.10 ××ERP-U9项目实施调研问卷-质量管理.docx
- 2M.02.02.11 ××ERP-U9项目实施调研问卷-财务管理.docx
- POS数据格式说明.docx
- 有效商机来源方法及话术.docx
- SANGFOR_AF_智能联动技术介绍.docx
- 终端提示语自定义操作手册.docx
- U9V2.5组件化实施方案_PMM-020采购任务计划与控制.docx
- 2026国网吉林省电力有限公司高校毕业生招聘470人笔试历年题库附答案解析.docx
- 2026国网天津市电力公司高校毕业生招聘275人笔试备考试题附答案解析.docx
- 2026国网北京市电力公司高校毕业生招聘320人笔试备考试题附答案解析.docx
- 2026国网吉林省电力有限公司高校毕业生招聘470人笔试备考试题附答案解析.docx
- 2026国网吉林省电力有限公司高校毕业生招聘470人笔试历年题库附答案解析.docx
- 2026国网四川省电力公司高校毕业生招聘1150人笔试历年题库附答案解析.docx
- 2026国网北京市电力公司高校毕业生招聘320人备考试题附答案解析.docx
- 物流专线考试题及答案.docx
- 工程项目建设合同书范文(3篇).docx
- 2025年广工操作系统试卷及答案.doc
原创力文档


文档评论(0)