第三章 orlace培训(高级).ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 不做“报表达人”:一条SQL语句完成一个复杂的报表。 * 字符型与数字串比较是,内部自动将字符型转换成数字型进行比较,例如:WHERE to_nmuber(emp_type) = 123 PL/SQL编程时,更要注意类型的转换问题。 最佳的方式是,不要进行类型转换,节约系统资源消耗。 * * * * * 多个表进行关联操作时,通过别名指定列,明确各个字段的归属,可以缩短SQL语句的解析时间。 * * * * SQL语句越简单,优化器的执行效率越高,得出最优执行计划的概率越高。 * SQL语句越简单,优化器的执行效率越高,得出最优执行计划的概率越高。 * * 因为解析的顺序是从右至左。 * * * * * * 经过优化的SQL语句,可以采用HINT方式进行执行计划的“固定”。 * * * * 体制、机制的设计最重要,否则我们永远都是“土八路” 制度需要制定,更需要执行、检查 各人习惯需要培养、约束。我们现在有很多奇葩的各人习惯: 把生产库当测试库,测试库当开发库 随时一个Create table as select ...就把数据备份了,完了没人清理 随便找个文章,看了之后感觉还可以,随便就把核心参数给调了 随意添加或修改索引 * * * * CPU使用率说明: User%:显示以用户方式执行的程序所使用的CPU的百分数 Kern%:显示以内核方式执行的程序所使用的CPU的百分数 wait%:显示用于等待IO的时间的百分数 Idle%:表示CPU空闲时间的百分数 磁盘I/O: 显示热门物理磁盘的列表(hdisk0和hdisk1为本地盘) Top进程: 热进程列表,按CPU资源耗费排序 内存与换页空间: % Comp:当前分配给计算页面帧的实际内存的百分数 % Noncomp:当前分配给非计算页面帧的实际内存的百分数 PAGING SPACE:换页空间的使用率 * * * * SQL语句的优化规则 WHERE子句AND条件的过滤原则:应使过滤记录最有效的条件放在最后面 例:如果emp表上没有索引 X SELECT ... FROM emp e WHERE emp_salary 50000 AND emp_type = MANAGER AND 25 ( SELECT count(*) FROM emp WHERE emp_mgr = e.emp_no ); SQL语句的优化规则 续 O SELECT ... FROM emp e WHERE 25 ( SELECT count(*) FROM emp WHERE emp_mgr = e.emp_no ) AND emp_salary 50000 AND emp_type = MANAGER; SQL语句的优化规则 WHERE子句OR条件的过滤原则:应使过滤记录数最有效的条件放在最前面 例:如果emp表上没有索引 X SELECT ... FROM emp e WHERE 25 ( SELECT count(*) FROM emp WHERE emp_mgr = e.emp_no ) OR ( emp_salary 50000 AND emp_type = MANAGER ); SQL语句的优化规则 续 O SELECT ... FROM emp e WHERE ( emp_salary 50000 AND emp_type = MANAGER ) OR 25 ( SELECT count(*) FROM emp WHERE emp_mgr = e.emp_no ); SQL语句的优化规则 尽量使用共享的SQL语句 如经常使用: SELECT * FROM dept WHERE deptno=值 如果每一个‘值’都是常量,则每一次都会重新解释,不能共享内存中的SQL语句优化结果。应把‘值’设置为一个变量,所有的共同语句都可以优化一次,高度共享语句解释优化的结果。 例:SELECT * FROM dept WHERE deptno = :d; SQL语句的

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档