当前位置:首页 > 日记 > 正文

oracle数据库SQL优化综述

oracle数据库SQL优化综述
1:多用少用;

二:当检查多于两个表时,在右边放置较少的记录。

三:减少访问表的次数;

四:当有子查询,子查询放在前面。

五:避免在SELECT语句中使用*(执行将依次将*转换为列名);

六:尽可能多地使用提交。

七:解码可以避免重复扫描同一记录或重复同一表;

八:通过内部功能还可以提高sql的效率。

九:当连接多个表时,在每个字段上使用别名和前缀别名。

十:替换存在

十一:不存在而不是不在(不在子句中)将执行内部排序和合并。在任何情况下,不是最无效的,而是在子查询中对整个表进行扫描。为了避免不使用,它可以重写成外部连接或不存在)。

十二:表连接比现有的效率更高。

十三:替换存在

例:

低:高:

选择不同的dept_no,dept_name选择dept_no,dept_name

D部,D部EMP E

在d.dept_no = e.dept_no;存在(选择1从EMP在e.dept_no = d.dept_no);

十四:使用tkprof工具查询的SQL性能状态;

十五:提高索引效率(成本:索引需要空间,有必要重构指数规律:ALTERINDEXREBUILD < tablespacename);

首先介绍了下一个索引的原理,以便于理解索引的优化。

rowid是由指数发现,然后表通过rowid访问。但如果查询的列包含在索引,则不会执行第二操作,因为检索数据存储在索引和访问索引就可以满足查询要求。

先决条件:在十六种情况下,住宿列具有唯一的索引;管理列具有非唯一索引。

十六:索引范围查询(索引范围sacen):

适用于两种情况:

1)基于一系列查询:

从倒伏率为%的住宿处选择住宿

(WHERE子句条件包括一系列的值,Oracle将通过索引范围查询。查询lodging_pk)

2)基于非唯一索引的检索:

选择住宿的住宿的地方,经理=李';

此查询分为两步:倒伏$经理指数范围查询得到所有的rowid,符合要求,然后通过ROWID访问表倒伏列值。该指数是一个非唯一索引和数据库不能执行一个唯一索引扫描它。

在哪里的话,如果对应的索引列的值从第一个字符的通配符,索引不会被使用,它会扫描整个表,如选择…经理喜欢%李。

十七:基本表的选择:

基本表:第一个访问表(通常在一个完整的表扫描中访问)。

根据优化器的不同,SQL语句中的基表的选择是不同的。

如果使用CBO,优化器将检查SQL语句中每个表的物理大小、索引的状态,然后选择具有最低成本的路径。

如果是使用RBO,和所有连接条件指标,相应的,在这种情况下,基表中的列上表从句子

例:

选择a.name,从工人一b.manager,住宿在哪里a.lodging = b.lodging;

因为在倒伏列上有一个索引,而且在工作表中没有比较索引,所以工作表将被用作查询的基表。

十八:多重相等索引:

当SQL语句的执行路径可用于在多个表上分配多个索引时,Oracle将使用同事的多个索引,并在运行时合并其记录,以便仅检索所有索引的有效记录。

Oracle选择执行路径是唯一的索引级别高于非唯一索引,只有当索引列和WHERE语句中的常量比较有效时。如果索引列与另一个表的索引列进行比较,优化器中的语句是非常低的。

如果在不同表的同级别两指标的参考,这是第一个根据在句子中的顺序表的应用。在从句子的最后一个表的索引具有高优先级。如果在同一张桌子同级别的两个指标为参考,在哪里的句子会具有最高优先级的第一参考指标。

例如:有一个非唯一索引的表,和emp_cat具有非唯一索引。

选择从EMP在dept_no = 20和emp_cat =一个';

deptno索引将被检索的第一然后合并结果的emp_cat索引检索和执行路径如下:

通过rowid对EMP表访问

和_equal

索引范围扫描dept_idx

索引范围扫描cat_idx

十九:平等与范围比较的比较:

第一个例子:

选择从EMP在dept_no > 20和emp_cat =姓名;

(两非唯一索引的前提下)的范围是不能用在这个时候,和记录查询通过emp_cat指标并与dept_no条件相比。

注意:当比较唯一性时,水平低于非唯一索引。

二十:强制索引失败:

如果两个或两个以上索引具有相同的级别,则可以强制命令Oracle优化器使用其中一个索引,您是什么时候使用这个策略的如果一个索引接近一个索引,而另一个索引有许多重复的值,排序和合并将成为一个负担。此时,后者可以被屏蔽,索引无效。

(加+ 0或| |计算失效模式的列的索引);

相关文章

word文档和其他符号随机代码安装包

word文档和其他符号随机代码安装包

安装包,文档,符号,代码,电脑软件,常见问题解答 为什么我不能下载这一点,但点是扣 由于下载量太大,下载服务器做出了并发限制。如果无法下载该发现,请稍后再试,多个下载将不会重复。 我没有太多的观点。我怎样得到分数 在积分规则中详细地上传高…

FlashGet修复损坏的ZIP压缩文件

FlashGet修复损坏的ZIP压缩文件

压缩文件,损坏,电脑软件,FlashGet,ZIP,您现在的位置:天心网>网络>工具>网络工具软件学院 FlashGet修复损坏的ZIP压缩文件 2005 - 06 - 10博客 FlashGet右键功能可以修改损坏的文件是下载快车,但是在计算机的其他文件也可以被修复。例如,ZIP…

不知道Vista10种必备的应用技能

不知道Vista10种必备的应用技能

技能,电脑软件,毫无疑问,很多改进已经在Vista远道而来的。只要是在合适的硬件,它可以很好的运行,这是一个很好的经验。当然,它仍然是痛苦的在不合适的硬件,但这是不是说今天的问题。如果你准备好了Vista的经验,我将为你提供10的应用下面的提示,可…

Linux下命令行命令参数列表

Linux下命令行命令参数列表

参数,命令行,命令,列表,电脑软件,意见:1。焦油 1。压缩设置为tar.gz文件后缀。 tar cvf backup.tar /等# gzip Q # backup.tar 或 焦油CVFZ backup.tar.gz / / #等 2。释放与后缀tar.gz文件。 # gunzip backup.tar.gz # tar xvf backup.tar …

WindowsVista完整的硬盘安装方法

WindowsVista完整的硬盘安装方法

安装方法,硬盘,完整,电脑软件,WindowsVista,作者:佚名 预准备:安装XP系统计算机1,Vista安装ISO。 注:(1)。Windows Vista需要安装在NTFS分区,但其他分区可以是FAT32格式!Win2003失败 (2)简单的无损NTFS转换模式:将CMD运行到命令行模式,运行可能需要…

轻易关闭win2003关闭窗口加快关机

轻易关闭win2003关闭窗口加快关机

关闭窗口,速度,电脑软件,点评:Win2003系统关机的程序是很麻烦的。它总是退出关机提示窗口,并延迟关机速度。这里有一个关闭关机提示的好方法。朋友需要参考。 用户使用的是系统必须知道WIN2003系统关机的程序是很麻烦的。关机前,系统总是跳出…

QQ空间不是由朋友动态收集来更新相

QQ空间不是由朋友动态收集来更新相

动态,空间,是由,朋友,电脑软件,朋友QQ空间更新后的阶段,在我的空间动态中没有显示,可能有以下效果: 1,一个朋友的相册设置了访问权限只有所有者可以看到在更新相册内容的情况下,我不会收到任何空间动态提示。 2、好友更新的大头贴相册,相册,相册…

互联网流量监测机构comScore发布的

互联网流量监测机构comScore发布的

互联网,机构,监测,流量,资产,北京时间7月22日,据国外媒体报道,comScore,著名的互联网流量监测机构在美国发布了50大互联网资产排名2009年6月7月22日。值得注意的是,美国微博网站推特一直排名首次跻身前第四十六的名单。 comScore的数据,谷歌网…

Vista的应用0xc00000xx错误解决方

Vista的应用0xc00000xx错误解决方

错误解决方案,电脑软件,Vista,xc00000xx,网页教学友情提示:本文介绍的应用程序正常初始化失败的解决方案(0xc00000xx)在Vista系统。 显示故障 主板维修 本文介绍的应用程序正常初始化失败的解决方案(0xc00000xx)在Vista系统的电脑维修培训。 1…

对WindowsXP安装问题的回答

对WindowsXP安装问题的回答

安装问题,电脑软件,WindowsXP,不管你是喜欢还是厌恶,微软的最新一代操作系统Windows XP如期伴随比尔.盖茨那大男孩般的笑容发布了。到底是好是坏还是让时间去见证,但面对XP的诱惑,相信越来越多的朋友都想尝一下鲜。由于Windows XP对硬件、软件…

Vista系统密码破解

Vista系统密码破解

密码破解,系统,电脑软件,Vista,作为一个系统管理员,如果你忘记Vista登录密码,只能重新安装当然不是.这里有两种方法来解决这个问题,希望对你有所帮助。 方法1: 请先将Vista安装盘放在光驱中,重新启动计算机,在cmos中设置,然后从驱动器开始。 1。当…

诺顿软件可能导致电子邮件故障

诺顿软件可能导致电子邮件故障

故障,电子邮件,诺顿,电脑软件,Losangeles special telegram (reporter Zhang Xiaojun) installed the Norton antivirus software designed by the US Symantec company. 如果反病毒软件的电子邮件过滤器不能正常工作,它可能会导致问题。 诺…