`
klts
  • 浏览: 41292 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论
  • klts: 我一直用的jdk1.6.0_13,感觉还可以
    JDK
  • wuyulunbi: 现在jdk什么版本的稳定
    JDK

索引概述

 
阅读更多

一、聚集索引

决定表中数据行在磁盘上的物理顺序。一个表只有一个聚集索引,一般是主键。

二、非聚集索引

不决定物理顺序,索引上仅包含被建立索引的数据,以及一个行定位符,通过此定位符能找到行数据。

三、联合索引

在表中的多个字段上建立索引,加速复核查询的速度。

联合索引满足最左查询需求,例如(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

  • 大小: 25.2 KB
分享到:
评论

相关推荐

    MySQL数据库:索引概述.pptx

    **MySQL数据库索引概述** 索引是数据库管理系统中不可或缺的一部分,尤其在处理大规模数据时,它的存在极大地提高了数据检索的效率。在MySQL中,索引是一个独立的、物理的数据库结构,它由表中一列或多列的集合以及...

    数据库管理与应用 4.1 索引概述.pdf

    数据库管理与应用 4.1 索引概述.pdf 学习资料 复习资料 教学资源

    oracle 创建和删除索引

    #### 一、Oracle索引概述 在Oracle数据库中,索引是一种重要的数据结构,用于提高数据检索速度。通过创建索引,可以显著提升查询性能,尤其是在处理大型数据表时更为明显。索引类似于书籍中的目录,能够帮助数据库...

    Oracle数据库索引的维护

    #### 一、Oracle数据库索引概述 索引是数据库中一种用于快速查找数据的数据结构。在Oracle数据库中,最常用的索引类型是B树索引(B-tree index),它支持范围查询和精确匹配查询。此外,还有其他类型的索引如位图...

    数据库2005索引与视图

    7.1 索引概述: 索引是一种特殊的文件结构,它按照特定字段或字段组合的值对数据库表中的数据进行排序,从而加速数据检索。主要目的包括: 1) 快速定位数据,提高查询速度。 2) 优化连接操作、ORDER BY和GROUP BY...

    《Oracle_全文索引_详细介绍》_40页.pdf

    #### 一、Oracle全文索引概述 Oracle全文索引是一种特殊类型的索引,它主要用于提高基于文本的查询性能。自从Oracle 7.3版本开始引入了这一特性,允许用户通过Oracle服务器提供的上下文(ConText)选项来执行基于...

    Oracle DBA实战索引优化

    #### 一、索引概述与原理 索引是数据库管理系统(DBMS)中一种可选的数据结构,它的主要目的是为了加快数据查询的速度。Oracle数据库中的索引通常由一系列行标识符(ROWID)及其对应的数据行的列值组成。ROWID是指向...

    SQLSERVER全文索引的使用

    #### 一、全文索引概述 在SQL Server中,全文索引是一种特殊类型的索引,主要用于提高文本数据的检索效率,尤其是在执行复杂模糊查询时。全文索引支持复杂的自然语言查询,能够帮助用户快速定位到含有特定词语或...

    Java 空间索引.zip

    Java 空间索引概述Java 空间索引项目旨在维护 RTree 空间索引算法的高性能 Java 版本,该算法在 1984 年由 Antonin Guttman 撰写的论文“R 树用于空间搜索的动态索引结构”中进行了描述。(CiteSeerX 上的 PDF)JSI ...

    深入理解mysql索引底层.zip

    一、索引概述 索引是一种数据结构,它为数据库表中的列提供了快速访问路径。通过索引,数据库可以快速定位到特定记录,而无需全表扫描。就像书籍的目录一样,允许我们迅速找到所需信息的位置。 二、索引类型 1. B-...

    oracle专家高级编程_建立索引

    #### 11.1 Oracle索引概述 索引在Oracle数据库的应用设计和开发中扮演着至关重要的角色。它能够显著提高查询效率,但同时也可能对数据修改语言(DML)操作如插入、更新和删除等产生负面影响。因此,寻找合适的索引...

    SQL Server索引设计和调优技术大全

    #### 二、SQL Server索引概述 1. **索引的概念**:索引类似于图书的目录,它提供了一种快速定位数据的方式,使得数据检索过程更加高效。 2. **索引的类型**: - **聚簇索引(Clustered Index)**:每个表只能有一个聚...

    oracle数据库索引与sql的优化

    #### 一、Oracle数据库索引概述 1. **索引的作用:** - 提高数据检索速度; - 保证表中数据的唯一性; - 加速排序过程; - 在执行某些操作时,可以避免全表扫描。 2. **索引的优缺点:** **优点:** - 能够...

    第 索引与视图PPT学习教案.pptx

    索引概述** 索引是数据库中为了加快数据检索速度而创建的一种特殊数据结构。它通过对数据库表中一个或多个字段的值进行排序,使得数据查找能够快速定位到目标位置。索引的主要目的是加速数据检索、提升连接操作、...

    数据库索引与优化技术.pptx

    #### 数据库索引概述 数据库索引是提高查询性能的关键技术之一。它通过创建额外的数据结构来加速数据检索过程。索引的主要目的是减少磁盘I/O操作次数,从而加快查询速度。在现代数据库管理系统(DBMS)中,索引的...

    Oracle数据库--索引讲义.pptx

    首先,索引概述中提到,索引的主要目的是加速数据检索,但同时也会影响数据更新的速度,因为每次数据更改都需要同步更新索引。Oracle数据库系统会自动管理和使用索引。图1展示了表和索引之间的关系,索引如同一个...

    (转)sql2005全文索引.doc

    #### 一、全文索引概述 在数据库领域,为了提高查询效率,索引是必不可少的一部分。对于短文本字段或者数值类型字段,传统的索引(例如B-tree索引)非常有效。然而,对于长文本字段,如文章内容等,传统索引的性能...

Global site tag (gtag.js) - Google Analytics