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

Oracle 基础复习——索引

 
阅读更多

1.索引是做什么的?

回答: 索引是数据库中用来提高查询效率。

补充: 过多的建立索引会大大降低DML语句的效率,建立索引的原则是在经常作为查询条件的字段上建立  

            索引,在存在大量重复信息的字段上不适合建立索引。

注意:(以下情况索引失效)

           1)使用<>比较时,索引无效,建议使用< or >

           2)使用前置模糊匹配%时无效,用instr代替

           3)使用函数时 (例:(create index ind… on 表名(to_char(birth,’’))建立这样的索引使用函

                 数时失效,但要注意查询语句的大小写)

           4)使用不匹的数据类型

           5)字段含有NULL索引会失效,建立索引的字段应该是NOT NULL

语法:

            -- 建立索引:

            CREATE INDEX  INDEX_ENAME ON EMP (ENAME)

 

            -- 如果在建立索引的过程中还可以对表进行DML操作,就在命令行上加online

            CREATE INDEX INDEX_SNAME ON DB_STUDENT(SNAME) [ONLINE]

 

            -- 经常做为联合查询的字段可以建立联合索引:

            CREATE INDEX INDEX_EMP_SAL_JOB ON EMP(SAL,JOB)

 

            -- 删除索引:

            DROP INDEX INDEX_HIREDATE

 

2.聚簇索引:

         聚簇是把关系列放在同一个地方,聚簇索引一般建立在关联表上的,用来提高根据关联字段查询的效率

步骤:

           1)先建立聚簇

           2)在建立表的同时将关联字段交给聚簇管理

           3)在该聚簇上建立索引

语法:

          -- 创建聚簇
          create cluster cluster_deptno(deptno number(3));

 

          -- 建立表的时候将指定字段放在聚簇里
          create table dept
          (
              deptno number(3) ,
              dname  varchar2(32)
          )
         cluster cluster_deptno(deptno);

         alter table dept add constraint pk_dept_deptno primary key (deptno);

         create table emp
         (
              empno number(5) primary key,
              ename varchar2(32),
              age   number(3),
              sal number(5),
              deptno number(3) references dept(deptno)
          )

 

          -- 外键必须建在聚簇之前
          cluster cluster_deptno(deptno)

 

          -- 将索引建立在聚簇上(即建立聚簇索引)
          create index cindex_deptno on cluster cluster_deptno;

 

          -- 删除聚簇

          drop cluster cluster_deptno


3.反向索引:通常建立在由序列生成字段信息的字段上
                    create index INDEX_STU_SNO on DB_STUDENT (sno)  reverse;

未完待续~

0
0
分享到:
评论

相关推荐

    Oracle9i讲义——东油内部教材

    Oracle9i是一款由甲骨文公司开发的关系型数据库管理系统,是Oracle数据库的第9个主要...这些内容将帮助用户全面理解和掌握Oracle数据库的使用,无论是进行数据管理还是开发基于Oracle的应用程序,都能提供坚实的基础。

    java基础——————试题库

    这份“java基础——————试题库”资源旨在帮助学习者系统地复习和深入理解Java的基础知识,确保他们能够全方位地掌握这一强大的编程工具。下面将详细阐述Java的基础知识点。 1. **Java简介** - Java是由Sun ...

    [MasterExam模拟考试引擎——Oracle DataBase 10g OCP认证考试指南全册]

    1. **Oracle 10g数据库基础** Oracle 10g是Oracle数据库的第10个主要版本,重点在于提高性能、可用性和可管理性。它引入了Real Application Clusters (RAC)、Automatic Storage Management (ASM)、Data Guard等重要...

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

    2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 谓语前推 42 2.10 使用物化视图...

    数据库程序设计复习文档.pdf

    【数据库程序设计】是软件学院中的重要课程,它涵盖了数据库设计的各个阶段和特定数据库管理系统——Oracle的架构。虽然此复习文档不涉及PLSQL和SQL的详细内容,但仍然提供了丰富的理论基础和复习要点。 首先,...

    Introduction To ORACLE9i:SQL3

    - **PL/SQL**:虽然本书主要关注SQL语言,但简要介绍了PL/SQL——Oracle的专有过程语言,用于编写存储过程和触发器。 ### 6. 认证考试指南 - **考试范围**:概述了OCP认证考试的主要内容和考察点,帮助考生明确...

    Oracle课后答案

    以上内容涵盖了Oracle数据库的基础概念、逻辑与物理结构、内存管理、事务处理、角色权限以及安装配置等方面的关键知识点。通过理解和掌握这些知识点,可以帮助学生更好地准备Oracle相关的课程和考试。

    Sybex OCP Oracle 10g Administration II Study Guide(2005)原版

    《Sybex OCP Oracle 10g Administration II Study Guide》是2005年发布的一本专业指南,专门针对Oracle数据库管理员(OCP)认证的第二部分——Oracle 10g Administration II进行深入讲解。这本书是那些希望提升在...

    数据库复习题2.rar

    这个名为“数据库复习题2.rar”的压缩包文件显然与教育相关,可能是为学生或教师准备的一套数据库理论复习资料,包含了一份PDF文档——“数据库复习题2.pdf”。这份资料可能涵盖了数据库的基础概念、设计原理、SQL...

    oracle小结

    此外,还需要熟悉Oracle数据库的其他特性,如索引、视图、存储过程、触发器、事务管理等,以便更好地管理和操作数据。对于初学者,从基础的SQL练习开始,逐步进阶到更复杂的查询和数据库设计,是成长为熟练的Oracle...

    湖南工业大学大型数据库应用历年试卷

    复习时,学生应该掌握Oracle的基本语法,如SQL查询、表和索引的创建、存储过程、触发器、事务管理等。此外,了解Oracle的数据分区、备份与恢复策略、性能调优方法也是十分重要的。 【压缩包子文件的文件名称列表】...

    数据库系统概论期末复习题

    常见的数据库类型有关系型数据库(如MySQL、Oracle)、非关系型数据库(如MongoDB、Cassandra)等。 2. **数据模型**:数据模型是描述数据和数据之间关系的抽象模型,主要有三种基本模型:层次模型、网状模型和关系...

    全国计算机技术与专业软件技术考试——数据库工程师考试历年试题

    总的来说,这个压缩包中的历年试题为考生提供了全面的复习材料,不仅覆盖了数据库理论基础,还与时俱进地包含了最新的技术发展。通过深入研究这些试题,考生能够提升自己的数据库设计、管理和优化能力,更好地应对...

    数据库的期末复习资料5个习题xznu

    1. 数据库基础:这部分可能会涵盖数据库的基本定义、功能和类型,如关系型数据库(例如MySQL、Oracle)、非关系型数据库(例如MongoDB、CouchDB)以及它们之间的区别。 2. SQL语言:SQL(Structured Query Language...

    Actualtests-Oracle-1Z0-147-V10.27.05.zip_Oracle数据库_PDF_

    "Oracle数据库_PDF"标签进一步确认了内容的核心——Oracle数据库的相关知识,而提供的学习资料以PDF文档形式存在。 Oracle数据库是全球广泛使用的数据库管理系统,由Oracle公司开发和维护。1Z0-147考试是Oracle ...

    数据库基础042-东南大学远教培训视频

    通过“数据库基础(复习)042.csf”这个文件,你可以回顾课程中的重点内容,巩固所学知识。这可能是课程的关键复习资料,包含了对前面课程内容的总结,或者对某个主题的深入探讨,例如查询优化、数据库设计原则等。 ...

    数据库复习资料

    2. 数据模型:数据模型是数据库设计的基础,常见的数据模型有关系模型(Relational Model)、层次模型(Hierarchical Model)、网络模型(Network Model)以及近年来流行的对象-关系模型(Object-Relational Model)...

    陕西师范大学数据库考试题

    了解数据库的类型,如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Cassandra)。 2. **数据模型**:学习数据建模,包括概念数据模型(如实体-关系模型ER)、逻辑数据模型(如关系...

    等级考试试题

    《浙江省数据库技术等级考试 2005-2009历年试题及分析》这个压缩包文件,聚焦于计算机等级考试中的一个重要领域——数据库技术。这个主题涵盖了从基础理论到实际应用的诸多方面,旨在帮助考生全面理解和掌握数据库的...

    数据库复习材料.。。。。。。。。。

    ### 数据库复习知识点详解 #### 一、数据库管理系统(DBMS)的主要功能 1. **数据定义功能**:DBMS提供数据定义语言(DDL),用于定义数据库的结构,包括创建、修改和删除表、视图、索引等数据库对象。 2. **数据操纵...

Global site tag (gtag.js) - Google Analytics