浅谈oracle数据库的优化

浅谈oracle数据库的优化

ID:24264722

大小:102.50 KB

页数:3页

时间:2018-11-13

浅谈oracle数据库的优化_第1页
浅谈oracle数据库的优化_第2页
浅谈oracle数据库的优化_第3页
资源描述:

《浅谈oracle数据库的优化》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅谈Oracle数据库的优化  当使用自查询时,也许会碰到几个独特的问题。涉及子查询的查询潜在问题如下:  也许在执行完查询的剩余部分前执行子查询(与执行分组功能的视图相似)。  子查询也许要求特定的提示,但这些提示不直接与调用该子查询的查询有关。  可以作为单个查询执行的子查询也许被代替写成几个不同的子查询。  也许在使用notin子句或者notexists子句时,不能在最有效的方式下进行子查询的存在查询。  1、当执行子查询时。  如果一个查询包含子查询,那么优化器有两种完成查询的方法:首先完成子查询,然后完成查询(“视图的方法”),或者将子查询集成到查询里去(“联结”的方法

2、)。如果首先解决子查询,那么整个子查询的结果集将首先被计算,并且用查询条件的剩余部分做过滤器。如果没有使用子查询去进行存在检查,那么“联结”方法将通常要比“视图”方法完成得好。  如果一个子查询包括集合操作,如groupby,SUM或者DISTINCT,那么不能集成子查询到查询的其余部分里去。非集成的子查询限制了提供给优化器的选项。  2、如何组合子查询。3  一个查询可以包含多个子查询,使用的子查询越多,集成或者重写它们到大的联结里就越困难。既然有多个子查询使集成困难,就应该尽可能地组合多个子查询。  3、怎样进行存在检查。  有时子查询不返回行(记录),但可以进行数据正确性检

3、查。在相关表里的记录或者存在或者不存在的逻辑检查,称为存在检查。可以使用exists和notexists子句提高存在检查的性能。  最常用的集操作是UNION操作,UNION操作使多个记录集联结成为单个集。UNION操作的数学定义是返回记录的单个集并且没有重复的行,所以在合并结果集里,Oracle只返回不同的记录。  当UNION操作用作SQL语句的一部分时,唯一性要求强迫Oracle移走重复的记录。Oracle的移走重复记录的功能是SORTUNIQUE操作,它与使用DISTINCT子句时执行的操作类似。  UNIONALL操作允许重复。UNIONALL不要求SORTUNIQUE

4、操作,从而节省了开销。UNIONALL是一个行操作,所以当其变为有效就返回给用户。而UNION包括SORTUNIQUE集操作,在全部记录的集的排序结束前,不返回任何记录给用户。  当UNIONALL操作产生巨大的结果集时,不需要任何排序便返回记录给应用的事实意味着第一行检索的响应时间更快,并且在许多情况下,可以不用临时段完成操作。  在有些情况下,UNIONALL和UNION不返回同样的结果。如果在应用环境中,结果集并不包含任何重复的记录,则可以把UNION转换成UNION3ALL。  在共享池中重用SQL语句  当SQL语句被传递给Oracle处理时,其秘诀是重复使用已经在共享

5、池中的语句,而不是让Oracle在接受语句时去准备新的语句。前面表明,如果Oracle接受了一个与共享池中的语句相一致的语句,就重用共享池中的语句。  Oracle提供在数据库中存储代码的能力。当应用系统开始运行时,从数据库中读取代码(可用PL/SQL语句编制)并像其它语句那样传递到共享池中去处理。从数据库中取出的代码是编译过的并驻留在共享池中。  只使用选择性索引  索引的选择性是指索引列里不同值的数目与表中记录数的比。如果表有1000个记录,表索引列有950个不同值,那么这个索引的选择性就是950/1000或者0.95。最好的可能性选择是1.0。依据非空值列的唯一索引,通常其

6、选择性为1.0。  如果使用基于开销的最优化,优化器不应该使用选择性不好的索引。  索引的选择性是指索引列里不同值的数目与表中记录数的比。如果表有1000个记录,表索引列有950个不同值,那么这个索引的选择性就是950/1000或者0.95。最好的可能性选择是1.0。依据非空值列的唯一索引,通常其选择性为1.0。3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。