`
jinghuainfo
  • 浏览: 1528274 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用oracle索引的一些小技巧

 
阅读更多

索引对数据库访问的性能的作用十分巨大,设计合理的索引对于系统性能调整至关重要。而使用索引又是数据库开发过程中最困难的一点。在设计索引的时候要注意以下几个方面:

  • 在OLTP系统中,尽量避免全表扫描,尽量使绝大多数操作都通过索引访问
  • 数据量很大并且经常变动的表上的索引不易过多,过量的索引会导致插入、更新和删除操作变慢,产生大量的IO,如果一张表上的索引超过8个,就需要检查是否这些索引都是必要的。(但是要值得注意的是这条原则很可能被过度的夸大。因为绝大多数OLTP系统,写操作不足10%,绝大多数的操作是读。因此如果是设计的合理,并不能说一张表上的索引超过多少就是不合理的)
  • 如果索引数量过多,建议删除部分所有的列都建有独立索引的复合索引,复合查询操作可以通过使用两个独立列的索引结果集合并来获取,也可以保障查询效率
  • 小表不要建立索引,可能通过索引访问速度更慢,把小表放入KEEP 池效率更高
  • 索引的PCTFREE、INITTRANS、MAXTRANS参数设置十分重要,特别是对于变化十分大的索引
  • 对于比较大的索引,使用索引分区会改善效率
  • 位图索引对于列表类值的效果较好(索引大小也比较小),但是位图索引不适合变化十分频繁的表
  • 使用函数索引可以避免大量不必要的全表扫描
  • 如果索引包含了查询需要的所有信息,查询就不需要访问表的数据,可以大大提高访问效率,因此要注意建立合理的复合索引,并注意SQL语句的合理性
  • 用好索引组织表
  • 可以使用反转索键值索引来消除索引相关的热块
  • 随着数据的变化,索引的效率会下降,因此定期重建索引对于性能提升有很大帮助
  • 使用CBO优化器的情况下,保证表和索引的数据得到了良好的分析是保证优化器选择最佳执行计划的关键
  • 删除所有不必要的索引。ORACLE 9i提供的新特性可以使DBA能够跟踪索引的使用情况,用这个功能找到不使用的索引,并把这些索引删除

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyzxg/archive/2008/08/27/2835619.aspx

分享到:
评论

相关推荐

    Oracle索引

    Oracle数据库的索引简介、创建和使用小技巧

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    性能 优化时常用的工具优化小技巧 转储文件内容3:转储控制文件5月18日 Top SQL优化小技巧 查找Top SQL优化小技巧 索引设计的一些建议优化小技巧 什么是索引的集群因子优化小技巧 转储文件内容4:转储控制文件5月19...

    Oracle数据库管理员技术指南

    1.4.1 配置参数的一些注意事项 1.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库...

    SQL Server 数据库索引其索引的小技巧

    一、什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用【索引】 索引允许SQL Server在表中查找数据而不需要扫描整个表。 1.1、索引的好处: 当表没有聚集索引时,成为【堆或堆表】 【堆】是一堆未加工的...

    ORACLE9i_优化设计与系统调整

    §13.2 创建索引和使用索引 165 §13.2.1 使用函数索引 165 §13.2.2 使用位图索引- 166 §13.2.3 使用B树索引- 166 §13.2.4 使用反向键索引- 166 §13.2.5 使用索引组织表 166 §13.3 使用范围索引 166 §13.4 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。  JARED STILL 从1994年就开始使用...

    Oracle 10g 学习笔记

    │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │...

    Oracle8i_9i数据库基础

    第十章 其它一些常见问题及技巧 212 §10.1 一些常见问题 212 §10.1.1 Oracle与2000年问题 212 §10.1.2 如何正确插入日期数据 213 §10.1.3 在查询中只返回满足条件的部分记录 214 §10.1.4 快速大量删除数据...

    oracle数据库dba管理手册

    3.3.2 分离低使用的索引段:INDEXS_2 52 3.3.3 分离工具索引:TOOLS_1 52 3.3.4 分离特殊回滚段:RBS_2 53 3.3.5 分离用户特殊临时段: TEMP_USER 53 3.3.6 附加的应用特殊OFA扩展 54 3.4 合理的逻辑设计 54 3.5 ...

    ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享

    3、如果被更新的自动有索引,更新的数据量很大,先取消索引,再重新创建。4、全表数据更新,如果表非常大,建议以创建新表的形式替代更新。DELETE 1、分批提交、减少锁表时间、减少回滚段压力。2、大批量数据删除...

    Oracle9i的全文检索技术开发者网络Oracle

    电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 >> 摘要 全文检索技术是智能信息管理的关键技术之一,Oracle Text作为Oracle9i的一个组件,提供了强大的全文检索功能,用Oracle9i做后台数据库,就可以充分...

    Oracle数据库及应用程序优化开发者网络Oracle

    电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 摘 要:本文对ORACLE数据库及ORACLE应用程序的优化,进行了全面的分析与研究,并提出了自己的一些建议。 关 键 词:ORACLE,优化,数据库,SQL 1.引言 随着...

    SQL必知必会(第3版)--详细书签版

    6.2 使用通配符的技巧 36 6.3 小结 36 第7章 创建计算字段 37 7.1 计算字段 37 7.2 拼接字段 38 7.3 执行算术计算 42 7.4 小结 43 第8章 使用数据处理函数 44 8.1 函数 44 8.2 使用函数 45 8.2.1 文本处理...

    Toad 使用快速入门

    需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql  需要加强Toad的安全性,必须运行ToadSecurity.sql 四、Toad使用快速入门 1. Schema Browser: Schema browser是Toad的极为有特色的模块。...

    db2-技术经验总结

    1.5. DB2中的22个命令小技巧 26 1.6. DB2实现类型ORACLE的一些功能 29 1.7. 字符数据类型转换的时候需要注意的问题(原) 30 1.8. 本地谓词的使用注意(原) 31 1.9. windows/Linux或Unix下查看DB2端口号 31 1.10. 尽量...

    数据库设计指南

    有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,再好的老师也比不过经验...第 5部分— 各种小技巧 不包括在以上 4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。

    coherence-bootstrap:Oracle Coherence 入门

    一致性引导 一组旨在快速开始使用 Coherence 的代码片段以及一些更高级的提示和技巧。 测试和示例由多进程测试套件支持,该套件是小网格/一致性孵化器的先驱。 涵盖的主题: 基本:[过滤器] ( )更复杂:POF 总是一个...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题74:sql语句优化小技巧 Java面试题75:批量插入几百万条数据 Java面试题76:有没有使用过redis Java面试题77:redis的使用场景 Java面试题78:redis存储对象的方式 Java面试题79:redis数据淘汰机制 Java...

Global site tag (gtag.js) - Google Analytics