良好的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语句原则 在Oracle数据库管理与优化的过程中,高效的SQL语句编写是非常重要的一个环节。本文将根据提供的信息“Oracle高效SQL语句原则”进行深入解析,并结合具体的实践经验和理论知识来阐述如何...
本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...
Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...
本文将深入探讨如何利用压力测试工具来评估和优化Oracle数据库中的SQL语句性能。 标题"压测Oracle的SQL语句的性能情况"暗示了我们关注的是在高负载情况下,Oracle数据库处理SQL查询的能力。压力测试(Pressure ...
Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...
Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...
对ORACLE-SQL进行一些布局优化,更新它的格式
Oracle SQL Profiler,自己设计算法写的一款非常好用的抓取Oracle数据库SQL语句的工具,可以再没有源码的情况下监控ORACLE数据库服务器的v$sqlarea视图抓取出从点击开始按钮到点击结束按钮期间执行过的SQL语句。...
Oracle数据库是全球最广泛使用的数据库管理系统之一,它遵循SQL标准,提供了一套强大的SQL语句,使得数据库操作变得高效和灵活。在Oracle数据库中,SQL语句是与数据库进行交互的主要方式。本文将总结一些Oracle基本...
### Oracle监听执行SQL语句详解 #### 一、Oracle监听执行概述 在Oracle数据库管理与维护过程中,有时候我们需要了解应用程序正在执行哪些SQL语句,这不仅有助于性能优化,还可以帮助我们诊断潜在的问题。通过监听...
本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...
oracle、sql语句基础
Oracle中用sql语句创建数据库,比较长,一般做了解
Oracle数据库Sql语句详解大全,提供给大家快速查询复习哦!
oracle中SQL语句优化
oracle Sql语句二 oracle Sql语句二
Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。