- 4
- 0
- 约 34页
- 2018-05-19 发布于四川
- 举报
ORACLE SQL 学习心得;讲解主要内容;数据库和应用系统性能; 随着软件技术的不断发展,系统性能越来越重要.
系统性能主要用系统响应时间和并发性来衡量,下面将主要讲解SQL影响的解
决方案讲解.
造成SQL语句性能不佳大致有两个原因(忽略了机器、数据库和设计的原因):
1):开发人员只关注查询结果的正确性,忽视查询语句的效率。
2):开发人员只关注SQL语句本身的效率,对SQL语句执行原理、影响SQL执行效率的主要因素不清楚。
前者可以通过深入学习SQL语法及各种SQL调优技巧进行解决。SQL调优是一个系统工程,熟悉SQL语法、掌握各种内嵌函数、分析函数的用法只是编写高效SQL的必要条件。后者从分析SQL语句执行原理入手,指出SQL调优应在优化SQL解析和优化CBO(cost-based SQL optimizer基于成本的优化器)上。;SQL*Plus;ORACLE优化器;选择使用优化器简单介绍:;什么是好的SQL语句?;SQL的共???原理;SQL的共享原理;具体SQL性能的优化; 如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
例如: EMP表描述了LOCATION表和CATEGORY表的交集.
SELECT * FROM LOCATION L , CATEGORY C, EMP E
WHERE E.EMP_NO BETWEEN 1000 AND 2000
AND E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN
?将比下列SQL更有效率
SELECT * FROM EMP E , LOCATION L , CATEGORY C
WHERE E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN
AND E.EMP_NO BETWEEN 1000 AND 2000
; 2、 ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
例如:
SELECT … FROM EMP E
WHERE SAL 50000 AND JOB = ‘MANAGER’
AND 25 (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO);
(低效)
SELECT … FROM EMP E
WHERE 25 (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO) AND
SAL 50000 AND JOB = ‘MANAGER’;(高效);3、SELECT子句中避免使用 ‘ * ‘
当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.
4、 减少访问数据库的次数
当执行每条SQL语句时, ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等等. 由此可见, 减少访问数据库的次数 , 就能实际上减少ORACLE的工作量.
; 5、整合简单,无关联的数据库访问
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系,虽然采取这种方法,效率得到提高,但是程序的可读性大大降低,所以读者 还是要权衡之间的利弊)
例如: SELECT NAME FROM EMP WHERE EMP_NO = 1234;
?SELECT NAME FROM DPT WHERE DPT_NO = 10 ;
SELECT NAME FROM CAT WHERE CAT_TYPE = ‘RD’;
上面的3个查询可以被合并成一个:?;?SELECT E.NAME , D.NAME , C.NAME
FROM CAT C , DPT D , EMP E,DUAL X
WHERE NVL(‘X’,X.DUMMY) = NVL(‘X’,E.ROWID(+))
AND NVL(‘X’,X.DUMMY) = NVL(‘X’,D.ROWID(+))
AND NVL(‘X’,X.DUMMY) = NVL(‘X’,C.ROWID(+))
AND E.EM
您可能关注的文档
- 保险的理解核保理赔.ppt
- 段立志--裂隙方解石脉中的油气包裹体.ppt
- 劳务派遣说明书.ppt
- 第十课 谁为我们护航(社会保护 司法保护).ppt
- 估价师继续教育4——抵押贷款.ppt
- 创业时期应关注的财务风险1.ppt
- 铁路土工试验培训.ppt
- 祝福雅安主题班会.ppt
- 第4节 温度的测量课件1.ppt
- 八年级科学上册3-5体温的控制.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)