- 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注意事项的实例培训
SQL文书写与DB性能的关系 实例讲解(基础篇) 2014年9月24日 第一版 重要性 - 程序开发的时候,SQL文的质量非常重要。 虽然DB结构,索引的设计可能对系统的性能的影响更为巨大,但是作为普通的程序员,要对自己开发的机能、画面的性能负责。 ★程序发布之前,应该测试SQL文的性能 ★做详细设计的时候,应该把SQL文一起设计好,并作好测试。 ★index(索引)在设计时就要考虑。 ★原型设计时,在设计画面时就需要有SQL文和表的概念。 - 这次培训是面向0~3年开发经验程序员的基础篇。 但是,即使是经验更丰富的程序员在编写SQL的时候, 也难做到面面俱到。 (考虑到业务实现,就不太重视性能方面的问题; 开发时间紧迫,没有充足的时间测试; 没有大数据量的测试数据支持,发现不了性能方面的问题;) 通过后面实例的讲解,想让大家在编写SQL文的时候, 养成良好的书写习惯,写出比较高性能的SQL文。 前提 DB:以Oracle数据库为例,有个顺手的工具软件帮忙(Object Browser)。 实例会用到下面3张表 实例1:select * 禁止使用 不好的例子 select * from kssa010tb where dnp_no = ‘E001020’; 选取收据NO‘E001020’的所有数据 select * 是全部项目取得,时间开销大。另外,该表加字段后,可能会影响程序。应该只取得必要的项目。 改善的例子 select dnp_no, trhk_ymd, tkisk_cd, shn_cd, qty, up, amt from kssa010tb where dnp_no = ‘E001020’; 实例2:不要在条件等号左边字段上加函数① 不好的例子 select dnp_no, trhk_ymd, tkisk_cd, shn_cd, qty, up, amt from kssa010tb where to_char(toroku_ymdtime,’YYYYMMDD’) = ; 取出2006年1月9日收据的数据 Where语句的条件的左边字段使用了to_char函数,oracle需要对字段做类型变换,如果该字段设有索引的话,会造成Index(索引)失效,时间开销增大。即使现在这个字段不是索引字段,为了以后的维护,也尽量不要在等号左边加函数。 改善的例子 select dnp_no, trhk_ymd, tkisk_cd, shn_cd, qty, up, amt from kssa010tb where toroku_ymdtime between to_date(000000’,’YYYYMMDD HH24MISS’) and to_date(235959’,’YYYYMMDD HH24MISS’); 实例3:不要在条件等号左边字段上写函数② 不好的例子 select dnp_no, trhk_ymd, tkisk_cd, shn_cd, qty, up, amt from kssa010tb where substr(trhk_ymd,1,6) = ‘200601’; 选取销售年月是2006年1月的收据数据。 改善的例子 select dnp_no, trhk_ymd, tkisk_cd, shn_cd, qty, up, amt from kssa010tb where trhk_ymd like ‘200601%’; Where语句条件的左边使用了substr函数,造成Index(索引)失效。 可以使用like加通配符%选取2006年1月的数据。 ※通配符加在前面,中间时。Index(索引)失效。( like ‘%ABC’ 、like ’AB%C’ ) 実行計画 ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1 0 TABLE ACCESS (FULL) OF KSSA010TB 実行計画 ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1
您可能关注的文档
- RFY-我们的风采.ppt
- RH-BS008-140510 8090后员工管理.ppt
- rhetorics修辞 英语常用修辞格比较及其解析.ppt
- RMQ问题.ppt
- rjyw070101-1 在山的那边1.ppt
- ROTORK执行器检修文件包.doc
- RSA---暂存.ppt
- RNC信令跟踪和分析-47.ppt
- ruiwen-用2.ppt
- ruiwen小石潭记-201311261108-339663-230683.ppt
- 2025年园区数字化碳中和十年数字化转型与绿色转型报告.docx
- 2025年全球半导体设备技术五年突破报告.docx
- 2025年工业0技术实施分析报告及未来五至十年智能制造升级报告.docx
- 2025年新能源汽车动力电池报告及未来五至十年市场格局报告.docx
- 2025年演出市场十年国际交流报告.docx
- 2025年教育科技十年发展报告:在线教育与个性化学习行业报告.docx
- 2025年体育产业赛事运营模式报告.docx
- 2025年智能机器人教育应用报告及未来五至十年智能教育发展报告.docx
- 2025年冰雪节庆五年活动策划与市场效应报告.docx
- 2025年文创政策十年影响评估报告.docx
原创力文档


文档评论(0)