- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开发中应注意一些的SQL写法
开发中应注意一些的SQL写法 2010.12 一、操作符 二、SQL书写的影响 三、其它情况 一、操作符 IN与EXISTS操作符 在业务密集的SQL当中尽量不采用IN操作符,NOT IN最好是不要使用,用EXISTS 和NOT EXISTS方案代替 UNION与UNION ALL 操作符 UNION在进行表链接后会筛选掉重复的记录,UNION ALL操作只是简单的将两个结果合并后就返回 大于、小于、不等于操作符 和 推荐改成=和=,a0改a0 or a0 LIKE操作符 LIKE操作符如果用得不好则会产生性能上的问题,如LIKE ‘%张%’ 这种查询不会引用索引,而LIKE ‘张%’则会引用范围索引 少用* 应按需要多少取多少的原则,少用* Or操作符 用了or语句,数据库优化器无法优化,大表查询进可以考虑将or改成UNION ALL having操作符 需要使用having时,尽可能先用where过虑掉不需要的数据后使用 二、SQL书写的影响 同一功能同一性能不同书写SQL的影响 以利用SGA共享池,防止相同的Sql语句被多次分析 WHERE后面的条件顺序影响 一般建议那些可以过滤掉最大数量记录的条件写在WHERE子句的末尾 书写条件列时避免改变列的类型 例如:A例为数值型,下面两种写法都可以得到结果 A=123 或是 A=’123’,但第一种效率优于第二种。因为oracle需对第二种写法进行类型转换 使用表的别名 当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误 三、其它情况 条件字段不进行函数处理或是计算操作 条件字段尽量不进行函数处理或是计算操作,特别是索引列,因为进行函数处理后索引将会不起作用 用索引提高效率 尽量使用索引列做为查询条件,避免在索引列上使用NOT 通常,还在在索引条件列中也不要使用‘||字符连接函数,就象其他函数那样, 也会停用了索引。IS NULL 、IS NOT NULL操作判断字段是否为空一般是不会应用索引的,因为索引是不索引空值的 尽量多使用COMMIT 只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少 减少数据库的访问 使用decode函数可以避免重复扫描相同记录或重复连接相同的表。 例如: select count(*),sum(sal) from emp where dept_no = 0020 and ename like ‘smith%’; select count(*),sum(sal) from emp where dept_no = 0030 and ename like ‘smith%’; 可以用decode函数高效地得到相同结果 select count(decode(dept_no,0020,’x’,null)) d0020_count, count(decode(dept_no,0030,’x’,null)) d0030_count, sum(decode(dept_no,0020,sal,null)) d0020_sal,sum(decode(dept_no,0030,sal,null)) d0030_sal from emp where ename like ‘smith%’; 以上列举的是在开发过程中一些常见的SQL编写中需要注意的问题,如果把这个SQL常见的问题在开发中得以避免,将有利于缩短了后期的优化的时间,减少系统的隐患。 谢谢! * * * * * * * * * * * * * * * * * * * * * * * * * *
您可能关注的文档
- 2012年七年级上册期末测试题.doc
- 2012年七年级下册数学期末考试卷及答案.doc
- 2012年七年级英语第二次月考试题.doc
- 2.样品主要营养成分的测定.ppt
- 2012年三亚必威体育精装版旅游攻略.doc
- 探究霉菌生长因素的实验.doc
- 2.课题3氧气的制法第一课时.ppt
- 探究音乐的历史进程的研究结题报告(精选).doc
- 探究题评价标准浅析海淀教师研修网(精选).doc
- 2012年上半年(5月)信息系统项目管理师(下午题,无答案).docx
- 《生态养殖模式下畜禽粪便的无害化处理与资源化利用路径探索》教学研究课题报告.docx
- 初中地理互动式教学策略在提升学生自学能力中的价值教学研究课题报告[001].docx
- 初中物理教学中培养学生科学思维的研究教学研究课题报告.docx
- 小学科学探究活动生物标本制作与环境保护教学研究课题报告.docx
- 小学信息技术课程中网络安全教育的教学策略教学研究课题报告.docx
- 初中英语学困生学习动机激发策略与心理健康教育研究教学研究课题报告.docx
- 高中体验式教学审美素养培养路径研究——以教学效果美为例教学研究课题报告.docx
- 高中物理实验中科学探究评价标准的应用教学研究课题报告.docx
- 小学音乐课堂中听觉训练与节奏感知结合研究教学研究课题报告.docx
- 初中历史课堂中古代战争策略对现代国际关系的启示探讨教学研究课题报告.docx
文档评论(0)