一、聚集索引
决定表中数据行在磁盘上的物理顺序。一个表只有一个聚集索引,一般是主键。
二、非聚集索引
不决定物理顺序,索引上仅包含被建立索引的数据,以及一个行定位符,通过此定位符能找到行数据。
三、联合索引
在表中的多个字段上建立索引,加速复核查询的速度。
联合索引满足最左查询需求,例如(a,b,c)三列组成联合索引,能够使用索引的查询有a|(a,b)|(a,b,c)三种。
注意:使用联合索引查询数据,where条件后字段顺序不会影响是否使用索引。
四、唯一索引
避免数据重复,在一个或多个字段上建立索引。
注意:一个表中唯一索引可以有多个,但是列值必须唯一,创建唯一索引使用关键字unique,唯一索引列值允许为空。
五、B-Tree
btree索引是mysql最常用的索引算法,它不仅可以被用在=,>,>=,<,<=和between这些比较操作符上,还可以用于like操作符,只要它的查询条件是一个不以通配符开头的常量,例如:
select * from table where col like ‘test%’;
但不支持:select * from table where col like ‘%est%’;
mysql数据在数据库中通过btree的方式将数据关联起来,查询时只需按照树的遍历方式遍历出数据范围即可。下图是二叉树和三叉树的数据索引关系,遍历方式以“左-右-根”顺序遍历,查询时可迅速定位数据范围。
六、Hash索引
hash索引是将数据以hash键值的方式存储起来,查询数据时通过定位键key来找到相应的值value。因此,hash索引不支持范围的查询,仅满足等值的过滤(等于、不等于)。
在数据库中的使用可以参考: http://blog.csdn.net/u012992688/article/details/48416539
hash索引算法原理可以参考: http://blog.csdn.net/tanggao1314/article/details/51457585
相关推荐
**MySQL数据库索引概述** 索引是数据库管理系统中不可或缺的一部分,尤其在处理大规模数据时,它的存在极大地提高了数据检索的效率。在MySQL中,索引是一个独立的、物理的数据库结构,它由表中一列或多列的集合以及...
数据库管理与应用 4.1 索引概述.pdf 学习资料 复习资料 教学资源
#### 一、Oracle索引概述 在Oracle数据库中,索引是一种重要的数据结构,用于提高数据检索速度。通过创建索引,可以显著提升查询性能,尤其是在处理大型数据表时更为明显。索引类似于书籍中的目录,能够帮助数据库...
#### 一、Oracle数据库索引概述 索引是数据库中一种用于快速查找数据的数据结构。在Oracle数据库中,最常用的索引类型是B树索引(B-tree index),它支持范围查询和精确匹配查询。此外,还有其他类型的索引如位图...
7.1 索引概述: 索引是一种特殊的文件结构,它按照特定字段或字段组合的值对数据库表中的数据进行排序,从而加速数据检索。主要目的包括: 1) 快速定位数据,提高查询速度。 2) 优化连接操作、ORDER BY和GROUP BY...
#### 一、Oracle全文索引概述 Oracle全文索引是一种特殊类型的索引,它主要用于提高基于文本的查询性能。自从Oracle 7.3版本开始引入了这一特性,允许用户通过Oracle服务器提供的上下文(ConText)选项来执行基于...
#### 一、索引概述与原理 索引是数据库管理系统(DBMS)中一种可选的数据结构,它的主要目的是为了加快数据查询的速度。Oracle数据库中的索引通常由一系列行标识符(ROWID)及其对应的数据行的列值组成。ROWID是指向...
#### 一、全文索引概述 在SQL Server中,全文索引是一种特殊类型的索引,主要用于提高文本数据的检索效率,尤其是在执行复杂模糊查询时。全文索引支持复杂的自然语言查询,能够帮助用户快速定位到含有特定词语或...
Java 空间索引概述Java 空间索引项目旨在维护 RTree 空间索引算法的高性能 Java 版本,该算法在 1984 年由 Antonin Guttman 撰写的论文“R 树用于空间搜索的动态索引结构”中进行了描述。(CiteSeerX 上的 PDF)JSI ...
一、索引概述 索引是一种数据结构,它为数据库表中的列提供了快速访问路径。通过索引,数据库可以快速定位到特定记录,而无需全表扫描。就像书籍的目录一样,允许我们迅速找到所需信息的位置。 二、索引类型 1. B-...
#### 11.1 Oracle索引概述 索引在Oracle数据库的应用设计和开发中扮演着至关重要的角色。它能够显著提高查询效率,但同时也可能对数据修改语言(DML)操作如插入、更新和删除等产生负面影响。因此,寻找合适的索引...
#### 二、SQL Server索引概述 1. **索引的概念**:索引类似于图书的目录,它提供了一种快速定位数据的方式,使得数据检索过程更加高效。 2. **索引的类型**: - **聚簇索引(Clustered Index)**:每个表只能有一个聚...
#### 一、Oracle数据库索引概述 1. **索引的作用:** - 提高数据检索速度; - 保证表中数据的唯一性; - 加速排序过程; - 在执行某些操作时,可以避免全表扫描。 2. **索引的优缺点:** **优点:** - 能够...
索引概述** 索引是数据库中为了加快数据检索速度而创建的一种特殊数据结构。它通过对数据库表中一个或多个字段的值进行排序,使得数据查找能够快速定位到目标位置。索引的主要目的是加速数据检索、提升连接操作、...
#### 数据库索引概述 数据库索引是提高查询性能的关键技术之一。它通过创建额外的数据结构来加速数据检索过程。索引的主要目的是减少磁盘I/O操作次数,从而加快查询速度。在现代数据库管理系统(DBMS)中,索引的...
首先,索引概述中提到,索引的主要目的是加速数据检索,但同时也会影响数据更新的速度,因为每次数据更改都需要同步更新索引。Oracle数据库系统会自动管理和使用索引。图1展示了表和索引之间的关系,索引如同一个...
#### 一、全文索引概述 在数据库领域,为了提高查询效率,索引是必不可少的一部分。对于短文本字段或者数值类型字段,传统的索引(例如B-tree索引)非常有效。然而,对于长文本字段,如文章内容等,传统索引的性能...