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

索引的创建与使用

阅读更多
创建标准索引:
CREATE  INDEX 索引名 ON 表名 (列名)  TABLESPACE 表空间名;
创建唯一索引:
CREATE unique INDEX 索引名 ON 表名 (列名)  TABLESPACE 表空间名;
创建组合索引:
CREATE INDEX 索引名 ON 表名 (列名1,列名2)  TABLESPACE 表空间名;
创建反向键索引:
CREATE INDEX 索引名 ON 表名 (列名) reverse TABLESPACE 表空间名;

索引使用原则
索引字段建议建立NOT NULL约束
经常与其他表进行连接的表,在连接字段上应该建立索引;
经常出现在Where子句中的字段且过滤性很强的,特别是大表的字段,应该建立索引;
可选择性高的关键字 ,应该建立索引;
可选择性低的关键字,但数据的值分布差异很大时,选择性数据比较少时仍然可以利用索引提高效率
复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的第一个字段,一般是选择性较好的且在where子句中常用的字段上;
B、复合索引的几个字段经常同时以AND方式出现在Where子句中可以建立复合索引;否则单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
频繁DML的表,不要建立太多的索引;
不要将那些频繁修改的列作为索引列;
索引的优缺点:
有点:
1. 创建唯一性索引,保证数据库表中每一行数据的唯一性
2. 大大加快数据的检索速度,这也是创建索引的最主要的原因
3. 加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
4. 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
缺点:
1. 索引创建在表上,不能创建在视图上
2. 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
3. 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
4. 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
分享到:
评论

相关推荐

    节 索引创建与使用PPT学习教案.pptx

    【索引创建与使用】是数据库管理中的重要概念,尤其对于提升数据检索效率至关重要。索引是一种特殊的数据结构,能够帮助数据库系统快速找到数据行,类似于书籍的目录,使得查找特定信息更为便捷。 5.1 索引概述中...

    视图和索引的创建和使用实验报告.pdf

    视图和索引的创建和使用实验报告 视图是一种虚拟表,基于一个或多个表的数据,可以通过视图来简化复杂的查询操作,提高数据的安全性和可维护性。本实验报告主要介绍了视图的创建、修改、使用和索引的创建、使用等...

    mysql实验报告+-+索引的创建与管理

    实验的目的是理解和熟练掌握索引的创建、管理和维护,包括单列索引、多列索引、唯一性索引以及全文索引的使用。通过这些操作,可以提高数据库查询的效率,优化数据访问性能。同时,了解不同存储引擎对索引的支持情况...

    视图和索引的创建及使用

    ### 数据库视图和索引的创建与使用详解 #### 实验目标概览 本次实验旨在深入了解数据库中的视图和索引概念,并掌握其在实际应用中的创建与使用技巧。通过理论结合实践的方式,使学习者能够理解视图与索引的作用机制...

    MySQL数据库:创建索引.pptx

    使用CREATE INDEX语句可以在一个已有表上创建索引,一个表可以创建多个索引。 语法格式: CREATE [UNIQUE | FULLTEXT] INDEX 索引名 ON 表名(列名[(长度)] [ASC | DESC],...) 说明: UNIQUE:表示创建的是唯一性索引 ...

    数据库 创建索引 sql oracle

    * 用索引优化向导创建索引:索引优化向导是 SQL Server 2000 提供的新的创建索引工具,使用查询优化器分析工作负荷中的查询任务,向有大量工作负荷的数据库推荐最佳的索引混合方式,以加快数据库的查询。 索引的...

    SQLServer视图及索引的创建及使用

    资源名称:SQL Server 视图及索引的创建及使用内容简介: 本文档主要讲述的是SQL Server 视图及索引的创建及使用;目的是通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除通过企业管理器。希望本文档会给...

    数据库索引创建建议

    ### 数据库索引创建建议 #### 一、深入理解索引结构 索引在数据库管理中扮演着极其重要的角色,特别是在处理大量数据时。合理的索引设计能够显著提高查询性能,减少系统的响应时间。本文主要探讨数据库中的两种...

    MySQL数据库:使用NAVICAT工具创建和管理索引.pptx

    如果需要修改索引,比如更改索引类型或添加/删除索引列,可以先删除旧的索引,再按照上述方法创建新的索引。删除索引后,记得检查对表的影响,确保不会降低查询性能。 3. **删除索引**: 要删除不再需要的索引,...

    索引与视图的创建管理系统.docx

    索引与视图的创建管理系统 索引的概念与类型: 索引是数据库中的一个数据结构,它能够提高查询速度和减少查询时间。索引可以是唯一的,也可以是复合的。唯一索引保证了数据的唯一性,而复合索引则可以提高查询速度...

    oracle创建表创建唯一索引

    在Oracle数据库管理系统中,创建表和唯一索引是数据库设计中的关键步骤,它们对于数据的组织、查询效率和数据完整性至关重要。以下将详细介绍如何创建学员信息表,创建唯一索引,以及如何修改表来添加主键和检查约束...

    oracle 索引创建

    对于大型数据库系统而言,索引的合理设计与使用对于提升查询性能至关重要。Oracle数据库作为全球广泛使用的数据库管理系统之一,在其体系结构中也提供了多种类型的索引机制来满足不同场景下的需求。 #### 二、索引...

    oracle在线创建索引和重组索引

    使用 online 模式创建索引,可以减少创建索引对业务的影响。 在线创建索引的 SQL 语句为: ```sql create index index_name on table_name (field1,field2) tablespace tbs_name online [compute statistics]; ``` ...

    文件索引的创建 文件索引的创建 文件索引的创建

    `.pbl`可能是索引的定义文件,`.pbt`可能包含索引的元数据,而`.pbw`可能是与索引相关的权重或其他配置信息。这些文件的具体用途取决于它们所属的软件系统。 总的来说,文件索引的创建是提升系统性能的重要手段,...

    Lucene3.0创建索引

    - 索引创建过程中可能会遇到各种异常,应添加适当的错误处理机制。 - 对于大量文档,可能需要考虑分批处理以避免内存溢出等问题。 通过以上步骤,我们可以有效地使用Lucene3.0来创建索引,从而提高文本数据的检索...

    数据库实验索引的创建与使用.pdf

    数据库实验索引的创建与使用.pdf 数据库索引是数据库管理系统中的一种重要机制,用于提高查询效率和减少数据访问时间。在本实验中,我们将学习如何创建和使用索引,以提高数据库的性能。 索引的概念和作用 索引是...

    Mysql数据库索引创建、索引删除、索引失效场景详解

    创建复合索引的方法与创建普通索引类似,只是涉及多个列。 5. 全文索引:用于解决大数据量的模糊查询问题。它通过分词技术建立索引,提高搜索效率。然而,全文索引的使用受到MySQL版本、存储引擎和字段类型的限制。...

    国家开放大学 形考答案 mysql 实验训练4:视图和索引的构建与使用

    本资源为 MySQL 实验训练第四课,主要涵盖视图和索引的构建与使用。实验目的是基于已有的汽车用品网上商城数据库 Shopping,理解视图和索引的概念和作用,练习视图的基本操作,包括视图的建立、视图的查询、视图的...

    sql server创建索引

    ### 四、索引的优点与局限性 #### 优点 - **提高查询效率**:索引可以显著加快数据检索的速度,特别是对于大型数据库。 - **支持唯一性约束**:唯一索引可以确保某一列或多列的组合不包含重复的值。 #### 局限性 ...

    Lucene创建与搜索索引

    ### Lucene创建与搜索索引 #### 一、Lucene简介 Lucene是Apache软件基金会下的一个开源全文搜索引擎工具包,由Java编写而成。它提供了一整套完整的文本索引和搜索机制,包括分词、索引、搜索等功能,并且性能高效...

Global site tag (gtag.js) - Google Analytics