`
dwj147258
  • 浏览: 195857 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

索引的分类

阅读更多

首先,了解一下,什么是索引,有哪些索引

索引:如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。

索引分类:

 

从数据结构角度

1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理

2、hash索引:
a 仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询
b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引
c 只有Memory存储引擎显示支持hash索引

3、FULLTEXT索引(现在MyISAM和InnoDB引擎都支持了)

4、R-Tree索引(用于对GIS数据类型创建SPATIAL索引)

从物理存储角度

1、聚集索引(clustered index)

2、非聚集索引(non-clustered index)

从逻辑角度

1、主键索引:主键索引是一种特殊的唯一索引,不允许有空值

2、普通索引或者单列索引

3、多列索引(复合索引):复合索引指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用复合索引时遵循最左前缀集合

4、唯一索引或者非唯一索引

5、空间索引:空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL,空间索引只能在存储引擎为MYISAM的表中创建

 

分享到:
评论

相关推荐

    MySQL索引分类及相关概念辨析.doc

    综上所述,理解MySQL索引的不同分类和相关概念对于优化查询性能至关重要。正确地使用和设计索引可以显著提升数据库的读取速度,减少I/O操作,从而提高整体系统性能。在实际应用中,应根据业务需求和查询模式来合理...

    mysql 索引分类以及用途分析

    一、 MySQL: 索引以B树格式保存 Memory存储引擎可以选择Hash或BTree索引,Hash索引只能用于=或&lt;=&gt;的等式比较。 1、普通索引:create index on Tablename(列的列表) alter table TableName add index (列的列表) ...

    DB2索引及其优化(设计,优化,问题分析,解答,举例)

    DB2索引及其优化 DB2索引设计及其优化是...在本文中,我们讨论了DB2索引的概念、创建索引、建立索引注意事项、索引分类和索引优化等方面的知识点,并提供了一些有用的提示和建议,以帮助读者更好地理解和应用DB2索引。

    索引总结 ,多年使用,工作培训

    #### 四、索引分类 1. **B树索引**(默认索引) - **说明**:B树索引是最常见的索引类型,采用二叉树结构,所有叶子节点具有相同的深度,保证了查询效率的稳定性。适用于精确查询、模糊查询和比较查询。 - **...

    mysql索引与树结构(索引简介、索引用法详解、B-Tree索引结构、索引导致的问题).docx

    - **索引分类** - **按产生作用分类**: 包括主键索引、普通索引、非空索引和全文索引。 - **主键索引**: 数据库表的唯一标识符,不允许为空。 - **普通索引**: 最基本的索引形式,用于加速数据检索。 - **非空...

    用微型图像和带有KNN的颜色索引来分类图像matlab代码.zip

    在本项目中,我们主要探讨的是使用微型图像和KNN(K近邻)算法进行颜色索引分类的MATLAB实现。MATLAB是一种广泛应用于科学计算、图像处理和数据分析的编程环境,尤其在图像处理领域,它提供了丰富的工具箱和函数支持...

    sql索引、试图简介

    ### 索引分类 - **创建方式** - **直接创建**:使用`CREATE INDEX`语句直接创建。 - **间接创建**:通过设置主键或唯一性键约束间接创建。 - **类型** - **普通索引**:允许索引列中有重复值。 - **唯一性索引*...

    MYSQL索引注意事项及其优化

    索引分类 MySQL 中的索引可以分为以下几种: 1. 普通索引(Index):对指定字段(非主键、外键)建立索引。 2. 唯一索引(Unique Index):特殊的普通索引,索引字段必须唯一。 3. 主键索引(Primary Key Index)...

    一套MySQL索引总结就够了

    #### 三、索引分类 1. **按存储结构划分**: - **B-Tree索引**:适用于范围查询和多值查询,如`BETWEEN`、`IN`等。 - **Hash索引**:适用于精确匹配查询,如`=`操作符,但在某些情况下不支持范围查询。 - **...

    【MySQL】索引 (八).pdf

    #### 五、索引分类 MySQL中的索引可以根据用途和存储方式进行分类: 1. **主键索引**:针对表的主键创建的索引,默认自动创建,每个表只能有一个主键索引。 2. **唯一索引**:避免同一表中某列数据重复,可以创建...

    ecshop分类按拼音索引

    "ecshop分类按拼音索引"这个主题涉及到的是ECShop系统中商品分类的管理方式,特别是如何通过拼音来帮助用户快速查找和浏览商品类别。在这个功能中,系统会根据商品分类的名字进行拼音排序,使得用户可以通过输入商品...

    分区索引,本地索引,全局索引的区别

    #### 一、Oracle分区索引概念及分类 在Oracle数据库中,分区索引是针对分区表的一种特殊索引类型,它可以显著提高对于大规模数据集的查询性能。根据索引是否与表的分区策略相匹配,分区索引可以分为两大类:本地...

    数据库索引PPT学习教案.pptx

    索引分类中,主键索引是一种特殊的索引类型,它保证表中每条记录的唯一性。Secondary Index是InnoDB存储引擎中的一种普通的B-Tree索引。与主键索引不同的是,Secondary Index允许在索引中存在重复值。 了解B-Tree...

    SQL Server索引技术的教学实践.pdf

    索引分类详解: 索引按照功能和存储方式不同,主要分为聚集索引和非聚集索引两种类型。 1. 聚集索引:它决定了表中数据的物理顺序,是表中每个数据行的物理排序方式。一个表只能有一个聚集索引。例如,汉语字典正文...

    中文文本分类的文档索引机制及分类模型的研究

    中文文本分类的文档索引机制及分类模型的研究中文文本分类的文档索引机制及分类模型的研究中文文本分类的文档索引机制及分类模型的研究

    数据库原理及应用 第十一章 索引及其应用&#40;51P&#41;.ppt

    **索引分类** 1. **聚集索引 (Clustered Index)**:聚集索引决定了数据在磁盘上的物理存储顺序,索引的叶子节点直接包含数据行。因此,每个表只能有一个聚集索引,且行的物理位置与索引顺序相同。聚集索引的大小约...

    证监会行业分类与上市公司索引归纳.pdf

    证监会行业分类与上市公司索引归纳.pdf

    第三十六章:Mysql事务及索引1

    【数据库索引分类】 1. 普通索引(非唯一索引):最基本的索引类型,允许索引列中有重复的值。 2. 唯一性索引:索引列中的每个值必须是唯一的,不允许重复。 3. 主键索引:既是唯一性索引,也是表的一个约束,确保...

    索引和视图

    2、 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引。SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解其他类型索引的...

Global site tag (gtag.js) - Google Analytics