首页 运维知识 此篇文章有关oracle的sql优化

此篇文章有关oracle的sql优化

1.能用oracle自带函数,或者用他的函数可以实现的效果,尽量用oracle的函数,因为他的函数的算法和实现函数的语言都是效率非常高的,一般情况下比我们写的要高效。 2. sql…

1.能用oracle自带函数,或者用他的函数可以实现的效果,尽量用oracle的函数,因为他的函数的算法和实现函数的语言都是效率非常高的,一般情况下比我们写的要高效。

2. sql的关键字都大写,因为oracle 再执行sql时,会把所有的sql 转换为大写来执行

3.select 句子中最好不要出现* ,要写具体的列名,不然 oracle会一次解析每个字段,费时。

4.from 的表,如果是一张或者两张表,把条数最少的放在后面,如果是三张以上,把和其他有交叉的表的放在后面,所谓交叉,就是和其他表有关联的的意思,因为oracle的扫描是从下网上从右往左,这样 的结果是可以尽量的少扫描表,

5.where 把可以过滤掉多条数据的条件往后放,一次类推

6.删除重复记录的最好办法是用rowid

7.使用decode函数减少 处理时间

8.用truncate table表明 代替delete from表名,因为第一个会删除表所对应的表空间

9.用where过滤,少用having过滤

10.使用表的别名也可以提高效率

11.用 EXISTS 替代 IN 、用 NOT EXISTS 替代 NOT IN :

12.使用索引来提高查询效率,但是索引建立的时候很有将就,并不是每个字段都建立,那样反而会降低效率

13.用 EXISTS 替换 DISTINCT

14.避免在索引上使用计算那些函数

15.用>= 来代替> ,因为有个确切的边线,可以让oracle跟好的确定边线

16.避免在索引列上用not ,因为这回让索引失效,也要避免使用is null ,is not null 操作

17.用union来代替 or 操作,如果可以的话

18.用in 代替or ,如果可以的话

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

dell R710 更换raid卡后,raid卡信息没有了,处理方案

dell R710 更换raid卡后,raid卡信息没有了,处理方案

1.将一台服务器(A)的硬盘依次拔出,按相同顺序插入另一台同样配置的服务器(B) 2.启动服务器(B) 3.按提示键盘按...
PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

下载 并安装 PL SQL Developer 13,默认支持中文语言 ========================...
关于一条sql语句在mysql中是如何执行的

关于一条sql语句在mysql中是如何执行的

最近开始在学习mysql相关知识,自己根据学到的知识点,根据自己的理解整理分享出来,本篇文章会分析下一个sql语句在my...
关于sql注入姿势总结(mysql)

关于sql注入姿势总结(mysql)

前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布...
关于Oracle SQL外连接

关于Oracle SQL外连接

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。 连接...

发表回复

返回顶部