Oracle高效SQL语句原则
http://blog.csdn.net/plainfield/archive/2006/11/02/1363058.aspx
良好的SQL语句风格易于发现问题、易于阅读,移植性好。80%的性能问题是由不良SQL语句引发的。
1.尽可能对查询条件的列建立索引;
2.尽量不要在where条件中对查询列使用函数,除非建立了相应的函数索引,如可用带前导字符的like代替substr;
3.任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的;
4.对于有联接的列,即使最后的联接值为一个静态值,优化器是不会使用索引的;
5.通配符(%)在搜寻词首出现,所以Oracle系统不使用索引;
6.任何在Order by语句的非索引项或者有计算表达式都将降低查询速度;
7.如果要使用NOT,则应在取反的短语前面加上括号,并在短语前面加上NOT运算符,用NOT就不能用索引,尽量用“< or >”代替“<>”;
8.IN和EXISTS,绝大多数情况下EXISTS比IN性能高,加上NOT也一样;
9.Where子句中要将值和列的类型匹配,如数字和字符间,否则将导致全表扫描;
10.不要在应用程序中使用关联子查询,可使用联机视图来代替;
11.对于带有很多OR的非常复杂查询,可以考虑用union all来重写;
12.可批量完成的操作不应该由循环方式来进行;
13.用格式一致的SQL语句,包括字母的大小写、标点符号、换行的位置等都要一致,以减少SQL分析编译开销;
14.游标、动态SQL语句尽量用绑定变量方式调用,以减少SQL分析编译开销;
15.在可能产生异常的地方用异常处理;
16.把一些常用功能模块用函数或存储过程封装;
Oracle索引创建原则
以前做的Oracle培训资料,整理的创建索引的几条原则:
1.需要平衡query合DML的需要,常用于(子)查询的表应建立索引;
2.把索引建到不同的表空间中;
3.用统一的extent大小: 五个block的倍数或者tablespace指定的MINIMUM EXTENT的倍数;
4.创建索引考虑用NOLOGGING参数,重建索引的时候也一样;
5.创建索引时INITRANS值应该比相应的table的值高一些;
6.对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;
7.对于组合索引,根据列的唯一值概率,安排索引顺序;
8.如果一个列具有很低的数据基数,并且或者可具有空值,不应作为索引列;
9.如果where语句中不得不对查询列采用函数查询,如upper函数,最好建立相应函数索引;
10.对于低基数集的列,并包含OR等逻辑运算,考虑用Bitmap索引,对于从大量行的表中返回大量的行时也可以考虑Bitmap索引;
11.避免在有大量并发DML运算的表中使用Bitmap索引;
分享到:
相关推荐
Oracle高效SQL语句原则,优化SQL,给程序提速。
Oracle高效SQL语句原则.txt 学习oracle笔记
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
ORACLE常用SQL语句大全.pdf
Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理
oracle的SQL语句的一些经验总结,里边有很多大家和自己的东西。
oracle常用sql语句,数据库常用的sql语句!!!!
Oracle学习,常用sql语句汇总,适合新手使用。
对ORACLE-SQL进行一些布局优化,更新它的格式
此LR脚本是应用于的Oracle的请求报文,此资源为直连Oracle执行SQL进行压测,为方便小伙伴快速开发此类的测试脚本,先已经整理成模板供小伙伴参考。
oracle常用sql语句大全 注释完整 放心使用 包含所有常用语句
Oracle——sql语句优化
Oracle SQL Profiler,自己设计算法写的一款非常好用的抓取Oracle数据库SQL语句的工具,可以再没有源码的情况下监控ORACLE数据库服务器的v$sqlarea视图抓取出从点击开始按钮到点击结束按钮期间执行过的SQL语句。...
Oracle中SQL语句执行效率的查找与解决..
oracle、sql语句基础
ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子...
Oracle中用sql语句创建数据库,比较长,一般做了解
oracle的sql语句和语法,初学者用用还不错,了解oracle的一些用法
ORACLE数据库SQL语句编写优化总结文档
oracle常用sql语句 oracle常用sql语句 oracle常用sql语句 oracle常用sql语句 oracle常用sql语句