#########shared pool对SQL缓存###########
Oracle会对执行过的SQL语句进行缓存,以便在下次使用相同语句的时候从缓存区直接调用,提高效率
例如以下两个语句对于oracle来说是一样的:
SELECT col1,col2
FROM table—name1
WHERE col1 > col2
AND col2 > col3
GROUP BY col1;
SELECT col1,col2
FROM table—name2
WHERE col1 > col2
AND col2 > col3
GROUP BY col2;
但是不好的风格会影响到oracle对sql语句的自动缓存
例如以下三条语句对于oracle来说都是两两不一样的:
SELECT * FROM emp;
select * from emp;
Select * From emp;
这样,oracle将分开三次解释以上语句。这样,效率就降低了
建议:关键词、保留字都保证代码是大写的,在语句当中去掉多余的空格。长的语句保持一个子句一行,以免造成换行的溢出(默认一行80列)。
#########WHERE子句与FROM子句###########
以以下两个表为例:
STUDENT表:
SID 学号
SNAME 姓名
SEX 性别
DEPARTMENT表:
DID 院系ID
DNAME 院系名
如果要对STUDENT表查询:
SELECT *
FROM STUDENT
WHERE SID='001'
AND SNAME='Tom'
AND SEX='male';
oracle是按照从后到前的步骤对WHERE子句进行处理
那么oracle将按照以下步骤进行查询
1.把所有男生找出来
2.针对上一步结果,把所有叫Tom人找出来
3.针对上面的结果,把所有SID为001的人找出来
相信大家都明白,在这里,如果想提高SQL查询的效率,我们应该先把尽量精确的子集选出来(例子中的SID)
然后两步的操作自然高效了,例如:
SELECT *
FROM STUDENT
WHERE SEX='male'
AND SNAME='Tom'
AND SID='001';
同样的,对FROM子句也是从后到前进行处理
所以以上例子如果涉及到两个表的关连查询,那么应该把DEPARTMENT表排在后面
这样能够让更小的子集参与下一步的查询
建议:在FROM子句中,把记录条数少的放在最后
在WHERE子句中,把区分度最大的字段放在最后,如果区分度相约,则使用建立索引的字段
分享到:
相关推荐
SQL Tuning sqlServer,数据库教程, chm格式 英文版
SQL Tuning使用指南 QCO的SQL Tuning模块是一种功能强大的SQL语句分析、测试、优化工具,它可以贯穿Oracle数据库应用的整个生命周期,在开发阶段、试运行阶段和生产阶段帮助获得最佳SQL语句,以提高应用系统的...
关于oracle的SQL Tuning Advisor全面的使用介绍,包括分析awr、cursor、sql_set、sql文本中获取sql并且建立、执行、获取结果的方法。并且介绍了sql_set,sql_profile的操作。里面涉及到的内容都有可执行的代码。
oracle的sqltuning 课程,但资源有些老,04年的
sql tuning oracle sql tuning
Oracel SQL tuning Oracel SQL tuning Oracel SQL tuning Oracel SQL tuning Oracel SQL tuning Oracel SQL tuning
Top-SQL Tuning SQL语句调整
Oracle SQL Tuning with Oracle SQLTXPLAIN: Oracle Database 12c Edition by Stelios Charalambides English | 8 May 2017 | ISBN: 1484224353 | 408 Pages | PDF | 24.39 MB Learn through this practical guide ...
SQL Tuning author Dan Tow outlines a timesaving method he's developed for finding the optimum execution plan--rapidly and systematically--regardless of the complexity of the SQL or the database ...
来源oracle官方ppt,讲解sql tuning技巧
Tosska SQL Tuning Expert (TSE™) 是一款优秀的SQL 调优工具,无需用户参与即可优化 SQL 语句。该产品将为您提供最终的 SQL 性能解决方案,只需点击鼠标即可。在整个 SQL 调优过程中,您不必进行分析、猜测或手工...
ORACLE SQL TUNING
sqltuning 英文版 sqltuning 英文版 sqltuning 英文版
比较经典的SQL TUNING资料,不可错过 PPT
描述sql tuning的基础.............
SQL Tuning for Oracle.chm
自动SQL优化工具Tosska SQL Tuning Expert for Oracle,帮助SQL开发人员解决SQL性能问题。
使用ORACLE SQL Tuning advisor快速优化低效的SQL语句, 这里是一个使用范例,有9个步骤, 后面 其他语句,都按照这个步骤来做就可以了。
现在我就向大家介绍这样一款工具:SQLTuning for SQL Server。 1. SQL Tuning 简介 SQL Turning是Quest公司出品的Quest Central软件中的一个工具。 QuestCentral(图1)是一款集成化、图形化、跨平台的数据库管理...
官方的Oracle 12C SQL 优化的Student Guide 和Activity Guide.