`
eric.zhang
  • 浏览: 126078 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle学习笔记八(索引)

阅读更多
索引:
是用于加速数据存取的数据对象,合理的使用索引可以大大降低I/O次数,从而
提高数据访问性能,索引有很多种,我们主要介绍常用的几种

单列索引:单列索引是基于单个列所建立的索引
如create index 索引名 on 表名(列名);
复合索引:
复合索引是基于两列或是多列的索引,在同一张表上可以有多个索引,但是要求
列的组合必须不同
如:create index emp_idx1 on emp(name,job);先name,再job
create index emp_idx1 on emp(job,name); 这是两个不同的索引,先按job查,再ename

select * from customer where name='sp' and category='aa';
sql执行是从后往前,所以先category再name

索引使用的原则:
1 在大表上建立索引才有意义
2 在where子句或是连接条件上经常引用的列上建立索引
3 索引的层次不要超过4层

索引缺点:
1 建立索引,系统要占用大约为表的1.2倍的硬盘或内存空间来保存索引
2 更新数据的时候,系统必须要有额外的时间来同时对索引进行更新
以维持数据和索引的一致性

实践表明,不恰当的索引不但于事无补,反而会降低系统性能,因为大量的索引
在进行插入,修改和删除操作时比没有索引花费更多的系统时间

比如在下字段建立索引应该是不恰当的
1 很少或是从不引用的字段
2 逻辑型的字段,如男或女(是或否)等,总之,提高查询效率是以消耗一定的
系统资源为代价的,索引不能盲目的建立,这是考验一个DBA是否优秀的很重要的指标

按数据存储方式,可以分为B*树,反向索引,位图索引,
按索引列的个数分,可以分单列索引,复合索引,
按索引值的唯一性,可分唯一索引和非唯一索引
此外还有函数索引,全局索引,分区索引

B*树索引建立在重复值很少的列上,位图索引建立在重复值很多,不同值相对固定的列上

显示表的所有索引:
在同一张表上可以有多个索引,通过查询数据字典视图dba_indexs和
user_indexs 可以显示索引信息,其中dba_indexs用于显示数据库所有
的索引信息,而user_indexs用于显示当前用户的索引信息

select index_name,index_type from user_indexs where table_name='表名'

显示索引列
通过查询数据字段视图user_ind_columns,可以显示索引对应的列的信息

select table_name,column_name from user_ind_columns where index_name='IND_EName'

unique会自动加索引


分享到:
评论

相关推荐

    Oracle学习笔记(索引)

    Oracle学习笔记(索引),有具体的代码案例,创建索引,删除索引,重建索引等等

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    oracle学习笔记-入门基础

    本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是Oracle用于标识表中每一行的一个特殊数据类型,它是一个64位的编码,包含了数据对象编号、文件号、块号...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    MSDN oracle学习笔记

    在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle学习笔记(从入门到精通)

    压缩包主要包括15个文档,主要是本人...07-视图和索引学习笔记.txt 08-PLSQL和游标结合学习笔记.txt 09-游标学习笔记.txt 10-重要的函数的学习笔记.txt 11-存储过程学习笔记.txt 12-触发器学习笔记.txt 13-pl编码.txt

    Oracle 10g 学习笔记

    │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...

    oracle 个人学习笔记

    以下是对Oracle数据库一些基础知识的详细解释,主要基于提供的个人学习笔记内容。 **第一节:数据库管理** 1. **创建用户**:`CREATE USER`命令用于创建新的数据库用户,如`CREATE USER username IDENTIFIED BY ...

    mldn oracle学习笔记

    "mldn oracle学习笔记"是一份关于学习Oracle数据库的资源,很可能包含了从基础到高级的全方位教程,旨在帮助学习者深入理解Oracle数据库的原理和操作技巧。"魔乐"可能是这份笔记的作者或者是一个学习社区的名字,而...

    oracle学习笔记 oracle学习方法 韩顺平视屏

    以下是对Oracle学习笔记和相关知识点的详细解析: 1. **基础概念与术语** - **SQL**:Structured Query Language,用于管理和处理关系数据库的标准语言。 - **RDBMS**:关系数据库管理系统,Oracle便是其中的代表...

    oracle学习笔记一

    总的来说,Oracle学习笔记一主要覆盖了Oracle数据库的基本概念、SQL使用、索引优化、事务处理和相关工具的介绍,是初学者入门Oracle数据库的好起点。通过深入学习和实践,可以逐步掌握这个强大的数据库系统,为IT...

    oracle学习笔记,介绍详细

    这份“Oracle学习笔记”无疑是你深入理解和掌握Oracle技术的重要资源。笔记涵盖了Oracle的语法基础、核心概念以及各种实用功能,旨在帮助初学者快速上手,同时也能为有一定经验的DBA提供参考。 首先,Oracle数据库...

    MLDN_Oracle学习笔记+源码 李兴华讲解

    《MLDN_Oracle学习笔记+源码 李兴华讲解》是针对Oracle数据库系统的一份详尽学习资源,由知名讲师李兴华精心编撰。这份资料不仅包含了丰富的理论知识,还提供了源代码实例,旨在帮助学习者深入理解和掌握Oracle...

    李兴华Oracle全部笔记

    总的来说,李兴华Oracle全部笔记是一份全面且深入的Oracle学习资料,不仅适合初学者入门,也对有经验的DBA有着很高的参考价值。通过这份笔记,读者可以系统地学习Oracle数据库的各个方面,提升自己的专业技能。

    Oracle学习笔记.doc

    这只是Oracle数据库学习的冰山一角,还有更多如DDL(数据定义语言)、DCL(数据控制语言)、PL/SQL、索引优化、事务管理、备份恢复等深度主题等待探索。理解并熟练掌握这些基础知识,将有助于你在面试中表现出色,...

Global site tag (gtag.js) - Google Analytics