- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 一、Sql应用 查询语句 函数 多表查询和子查询 DML语句应用 二、Sql优化 SQL语句的优化器 调优SQL语句的相关工具 影响CBO模式的统计信息 SQL语句优化的基本原则 RBO模式下的规则和建议 SQL语句中的hint 写SQL语句的一些提示 三、附录: 常见Oracle HINT的用法 监控数据库性能的SQL SQL应用 二、函数 使用中注意单行函数和多行函数 CASE expression CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr] END DECODE function DECODE(col|expression, search1, result1 [, search2, result2,...,] [, default]) 示例: update serv_biz_code set carry_type = case when service_type = MAS then SMS when service_type = 400 then VOICE else carry_typeend; update serv_biz_code set carry_type = case service_type WHEN MAS then SMS when 400 then VOICE else carry_typeend; 好处:只使用一次全表扫描。简单明了。 SQL应用 三、多表查询和子查询 注意:避免笛卡尔积 建议:对表使用别名,关联相关的字段。 外连接使用(+) Oracle9i开始支持,sql 99标准。 SQL应用 示例 对NOT in 的改进语句的几种方法 SELECT s.ec_code FROM serv_biz_code s WHERE s.ec_code NOT IN (SELECT t.customer_code FROM bill_item_usage_detail t ) SELECT s.ec_code FROM serv_biz_code s WHERE NOT EXISTS (SELECT 1 FROM bill_item_usage_detail b WHERE s.ec_code = b.customer_code ) SELECT s.ec_code FROM serv_biz_code s , bill_item_usage_detail bWHERE s.ec_code = b.customer_code(+) AND b.customer_code IS NULL 多列的子查询( ,) in (,) SELECT s.ec_code,duct_code FROM serv_biz_code s WHERE (s.ec_code,duct_code) NOT IN (SELECT t.customer_code,duct_code FROM bill_item_usage_detail t ) 其他DML中的子查询 update /*+ ROWID(bb) */ ur_sms_200904_t bb set bb.charge1 = ( select b.charge1 from jxj_rater_urb where bb.rowid = b.id ) where exists (select 1 from jxj_rater_uraa where aa.id = bb.rowid) ; 注意: aa.id和bb.rowid 的值是物理地址,如果表或记录变更过该语句讲实效。 Rowid 和rownum 的使用 rowmum的数据具有随机性,可以通过建立子查询的视图,根据固定的关键字进行order by 后再使用,尽量保证数据唯一性。 SQL应用 子查询 单行子查询和多行子查询,注意使用的条件 With as 使用介绍 提高查询的性能,如果一个sql中相同的部分比较多,可以放到一起,执行一个with as 在实际应用中,可以应用到各个环节 SQL应用示例 --数据库为bill数据库,目的为了检查Rater计算结果是否正确,从bill_item_usage_detail表
您可能关注的文档
最近下载
- 【专项练习】四年级上册数学试题--第二单元专项—《填写单位》 人教版 (含答案).doc VIP
- 药学英语(上册)(第5版)史志祥课后习题答案解析.pdf
- 高中入团思想汇报范文(6篇).docx VIP
- 公路大中修工程交通组织方案设计与研究-来源:现代企业文化·下旬刊(第2021007期)-中国工人出版社.pdf VIP
- 稻盛和夫《心》读后感集合5篇.docx VIP
- 个人现实表现(现实表现).pdf VIP
- 货物运输投标文件(技术部分).pdf
- GB_T 15560-1995《流体输送用塑料管材液压瞬时爆破和耐压试验方法》.pdf
- 食材配送项目投标文件.doc
- (统编2024版)一年级道德与法治上册 第8课 课余生活真丰富 教学设计.docx
文档评论(0)