考试辅导:
学历
外语
电脑
资格
建筑
会计
医药
技能
才艺
出国
管理
方法
全站导航:
资讯
作文
诗词
文学
励志
教材
板报
语文
数学
英语
物理
化学
生物
政治
地理
历史
考试
论文
范文
计划
国学
高校
短信
教程
English
简历
幼儿
字典
词典
成语
QQ
PPT
试题
课件
教案
求学网 >> 考试辅导 >> 软件水平学习指南

OracleSQL语句优化技术分析

      操作符优化 
  IN 操作符 
  用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 
  但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: 
  ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。 
  推荐方案:在业务密集的SQL当中尽量不采用IN操作符。 
  NOT IN操作符 
  此操作是强列推荐不使用的,因为它不能应用表的索引。 
  推荐方案:用NOT EXISTS 或(外连接+判断为空)方案代替 
  <> 操作符(不等于) 
  不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。 
  推荐方案:用其它相同功能的操作运算代替,如 
  a<>0 改为 a>0 or a<0 
  a<>’’ 改为 a>’’ 
  IS NULL 或IS NOT NULL操作(判断字段是否为空) 
  判断字段是否为空一般是不会应用索引的,因为B树索引是不索引空值的。

      推荐方案: 
  用其它相同功能的操作运算代替,如 
  a is not null 改为 a>0 或a>’’等。 
  不允许字段为空,而用一个缺省值代替空值,如业扩申请中状态字段不允许为空,缺省为申请。 
  建立位图索引(有分区的表不能建,位图索引比较难控制,如字段值太多索引会使性能下降,多人更新操作会增加数据块锁的现象)。 
  > 及 < 操作符(大于或小于操作符) 
  大于或小于操作符一般情况下是不用调整的,因为它有索引就会采用索引查找,但有的情况下可以对它进行优化,如一个表有100万记录,一个数值型字段A,30万记录的A=0,30万记录的A=1,39万记录的A=2,1万记录的A=3。那么执行A>2与A>=3的效果就有很大的区别了,因为A>2时ORACLE会先找出为2的记录索引再进行比较,而A>=3时ORACLE则直接找到=3的记录索引。 
  LIKE操作符 
  LIKE操作符可以应用通配符查询,里面的通配符组合可能达到几乎是任意的查询,但是如果用得不好则会产生性能上的问题,如LIKE ‘%5400%’ 这种查询不会引用索引,而LIKE ‘X5400%’则会引用范围索引。一个实际例子:用YW_YHJBQK表中营业编号后面的户标识号可来查询营业编号 YY_BH LIKE ‘%5400%’ 这个条件会产生全表扫描,如果改成YY_BH LIKE ’X5400%’ OR YY_BH LIKE ’B5400%’ 则会利用YY_BH的索引进行两个范围的查询,性能肯定大大提高。

展开阅读全文

上一页 1 2 下一页

下载此内容:OracleSQL语句优化技术分析.docx

相关信息:

软考系统分析师考试须知

(1)在您继续阅读下面内容之前,请先阅读背面的初级和中级考试须知,其中的内容也适合于系统分析师考试。   (2)系统分析师下午共有2场考试,其中下午I是案例分析考试,时间为13:30~15:00(1个半小时)。在本场...(查看全文

Cisco试题:交换机考题分析

原题: What is the basic characteristic of switches and hubs?A. Hubs cannot filter frames.B. Using hubs is costly with regard to bandwidth availability.C. Switches do and can not forward broadcasts.D....(查看全文

中国CCIE通过率及就业分析(亚威科技)

2005年7月1日 2005年8月1日 2005年10月1日 路由&交换 Routing and Switching 11717 11824 11976 ↑2.2% 安全 Security 494 511 541 ↑9.5% ISPService Provider 215 222 238 ↑10.7% 网络存储 Storage Networking 9 ...(查看全文

正确配置IP地址以排错考题分析

原题:  You are the network administrator for Pcjob. The network consists of an Active Directory domain named PCjob.com. The domain contains computers running Windows 2000 Server, Windows 2000 Profe...(查看全文

微软认证模拟题:70-290考题分析[下]

计算机账户与网络登录问题:   You are the network administrator for Pcjob.com. All network servers run Windows server 2003, and all client computers run Windows XP Professional.  A user named King ...(查看全文

相关栏目导航

资讯 作文 诗词 文学 励志 教材 板报 语文 数学 英语 物理 化学 生物 政治 地理 历史 考试 论文 范文 计划 国学 高校 短信 教程 English 简历 幼儿 字典 词典 成语 QQ PPT 试题 课件 教案