`
hucj
  • 浏览: 8630 次
社区版块
存档分类
最新评论

索引的基本概念

 
阅读更多

昨天在优化一条SQL,冥思苦想无果,业务逻辑过了三遍还是无从下手,最后在别人的指引下加个个索引,速度提升十倍不止。。。(之前没用过索引,特此复习加深印象)

 

一、索引的概念
        索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。

 

二、索引的特点
    1.索引可以加快数据库的检索速度 
    2.索引降低了数据库插入、修改、删除等维护任务的速度 
    3.索引创建在表上,不能创建在视图上 
    4.索引既可以直接创建,也可以间接创建 
    5.可以在优化隐藏中,使用索引 
    6.使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索引 
    7.其他

 

三、索引的优点
    1.创建唯一性索引,保证数据库表中每一行数据的唯一性
    2.大大加快数据的检索速度,这也是创建索引的最主要的原因
    3.加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
    4.在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
    5.通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。

 

四、索引的缺点
    1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
    2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
    3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度

 

五、索引分类
    1.直接创建索引和间接创建索引
    直接创建索引: CREATE INDEX mycolumn_index ON mytable (myclumn)
    间接创建索引:定义主键约束或者唯一性键约束,可以间接创建索引
    2.普通索引和唯一性索引
    普通索引:CREATE INDEX mycolumn_index ON mytable (myclumn)
    唯一性索引:保证在索引列中的全部数据是唯一的,对聚簇索引和非聚簇索引都可以使用
    CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)
    3.单个索引和复合索引
    单个索引:即非复合索引
    复合索引:又叫组合索引,在索引建立语句中同时包含多个字段名,最多16个字段
    CREATE INDEX name_index ON username(firstname,lastname)
    4.聚簇索引和非聚簇索引(聚集索引,群集索引)
   聚簇索引:物理索引,与基表的物理顺序相同,数据值的顺序总是按照顺序排列
    CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn) WITH
    ALLOW_DUP_ROW(允许有重复记录的聚簇索引)
   非聚簇索引:CREATE UNCLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)

分享到:
评论

相关推荐

    倒排索引倒排索引.docx

    倒排索引基本概念 文档(Document):一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如 Word,PDF,html,XML 等不同格式的文件...

    数据库原理及应用课件:第8章 索引.ppt

    8.1 索引基本概念 索引允许我们在不扫描整个表的情况下找到所需的数据,可以为单个列或者一组列创建。通常,索引采用B树(Balanced Tree)结构,确保高效的数据查找。索引项按照数据页(如SQL Server中的8KB)存储,...

    搜索引擎-倒排索引基础知识

    二、倒排索引基本概念 1. 文档(Document):指以文本形式存在的存储对象,涵盖多种格式的文件和文本信息。 2. 文档集合(Document Collection):由若干文档构成的集合。 3. 文档编号(Document ID):搜索引擎内部将每...

    数据库索引技术的研究与应用.pdf

    #### 二、索引基本概念及其优缺点 ##### 1. 基本概念 - **搜索码**:索引的一个或多个字段组成的集合,用于快速定位特定的数据记录。 - **数据目录项**:索引中的元素,记录了关于数据的具体信息,包括但不限于记录...

    Oracle优化全攻略一【Oracle 索引概念】.docx

    了解基本的索引概念,可以通过查询`DBA_INDEXES`视图获取所有索引的信息,而`USER_INDEXES`视图则能显示特定模式的索引。`USER_IND_COLUMNS`视图则提供了索引列的详细信息。 组合索引,也称为concatenated索引,...

    索引介绍聚集索引和非聚集索引

    #### 一、索引的基本概念 在数据库中,索引是一种特殊的文件结构,它的主要目的是为了提高数据检索的速度。索引通过创建一种数据结构(例如B树)来实现这一点,这种结构允许数据库管理系统能够快速定位到数据所在的...

    4. Visual Foxpro数据库及其操作.ppt

    索引基本概念包括主索引、候选索引和普通索引等。在表设计器中建立索引可以方便地对表进行排序和查找。索引文件扩展名为.dcx,建立索引有助于提升数据检索效率。 综上所述,"4. Visual Foxpro 数据库及其操作.ppt...

    计算机操作系统基本概念集合

    计算机操作系统基本概念集合 以下是对计算机操作系统基本概念的总结和解释: 一、操作系统的基本概念 操作系统是计算机系统中的基础软件,提供了三种类型的使用接口:命令方式、系统调用和图形用户界面。操作系统...

    关于索引概念\特点\优点\缺点\分类\使用

    ### 关于索引概念、特点、优点、缺点、分类及使用的详细解读 #### 索引的概念 ...通过理解索引的基本概念、特点、优缺点以及不同类型和使用方法,可以更好地管理数据库性能,提升系统的整体效率。

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

    实验目的是基于已有的汽车用品网上商城数据库 Shopping,理解视图和索引的概念和作用,练习视图的基本操作,包括视图的建立、视图的查询、视图的更新、视图的删除,体会视图带来的方便;练习索引的创建和删除,对比...

    luncene建索引的基本实例

    本文将详细介绍 Lucene 的基本实例,涵盖索引的工作方式、Analyzer、Document、Field、Term 等概念,并阐述 Lucene 的结构和组件。 Lucene 的工作方式: Lucene 的索引工作可以分为两部分:写入和读出。写入流程中...

    MySQL 高级 笔记

    **1.1 索引基本概念** - **定义**:索引是帮助MySQL高效获取数据的数据结构。 - **类型**: - **唯一索引**:确保每条记录都是唯一的。 - **主键索引**:一种特殊的唯一索引,不允许有重复值。 - **全文索引**:...

    数据库索引设计原则.

    1.1 基本原则:索引设计应遵守基本原则,即索引列的选择、索引类型的选择、索引的维护等。 1.2 主关键字的约束:主关键字是数据库表中的唯一标识符,索引设计应遵守主关键字的约束,确保数据的一致性和唯一性。 ...

    ORACLE执行计划的一些基本概念

    以下是一些关于Oracle执行计划的基本概念: 1. **Rowid**: Rowid是Oracle用来标识表中每行数据的唯一地址,它是一个伪列,虽然在表中不实际存储,但可以通过SQL查询访问。Rowid在行的生命周期内保持不变,即使行...

    关于InnoDB的索引大小

    了解了这些基本概念后,我们可以使用MySQL提供的工具进行分析和优化。例如,`EXPLAIN`语句可以帮助我们理解查询的执行计划,查看索引是否被正确使用。`ANALYZE TABLE`命令可以更新表的统计信息,帮助优化器做出更好...

    oracle、sql数据库批量建索引

    首先,让我们了解索引的基本概念。索引是数据库为了快速定位数据而创建的一种数据结构,类似于书籍的目录。它减少了数据库执行查询时扫描整个表的次数,从而显著提高了查询速度。在数据量庞大的情况下,索引的重要性...

    索引

    在IT行业中,索引是一种非常重要的概念,尤其是在数据库管理和数据检索领域。索引如同书籍的目录,能够极大地提高数据查询的效率,使我们能够在海量的数据中迅速定位到所需的信息。本篇文章将深入探讨索引的基本原理...

    oracle的索引学习

    首先,理解索引的基本概念。索引是一种特殊的数据结构,它存储在表空间中,用于加速对表数据的访问。当执行查询时,Oracle数据库能够利用索引来避免全表扫描,转而执行索引扫描,从而提高查询速度。然而,创建和维护...

    MySQL索引分析及优化.pdf

    普通索引是最基本的索引,它没有任何限制。唯一索引保证了每个索引值的唯一性。主键索引是一种特殊的唯一索引,它同时也是一种聚簇索引。全文索引是用于全文搜索的索引。 五、索引的创建 索引的创建可以使用CREATE...

Global site tag (gtag.js) - Google Analytics