`
哎喔别走
  • 浏览: 4870 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据库索引

阅读更多

索引的含义和特点

索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里所有记录的引用指针。

mysql中索引的存储类型有两种:BTREE和HASH

其中MyISAM和InnoDB存储引擎只支持BTREE索引;MEMORY/HEAP存储引擎可以支持HASH和BTREE索引。

索引的优点:

1.通过唯一索引可以达到库表的每行都是唯一性的

2.可以加快查询速度

3.可以加快表之间的连接

4.尤其在分组和排序中建索引可以显著提高性能

缺点:

1.创建和维护索引耗费时间

2.索引需要占用磁盘空间

3.对表进行insert、update、delete的时候,索引也会动态的维护。

索引的分类

普通索引和唯一索引

单列索引和组合索引

全文索引

空间索引

其中组合索引遵循最左前缀集合,比如你用a,b,c三个表字段作为组合索引,只有查询条件包含a时索引才会起作用。全文索引和空间索引只能在存储引擎为MyISAM的表中创建。

索引的设计原则:

1.索引不是越多越好

2.避免对经常更新的表建索引

3.数据量小的表不要使用索引

4.数据相同值多的不建议使用索引

5.能建唯一索引时优先使用唯一索引

6.频繁分组排序的字段上建索引

创建索引

新建表的时候创建索引

CREATE TABLE table_name [col_name data_type]

[UNIQUE | FULLTEXT | SPATIAL] [INDEX | KEY] [index_name] (col_name) [ASC | DESC]

FULLTEXT是全文索引、SPATIAL是空间索引只有MYISAM存储引擎支持。


 

已经存在的表上创建索引

1.ALTER TABLE table_name ADD 

[UNIQUE | FULLTEXT | SPATIAL] [INDEX | KEY] [index_name] (col_name) [ASC | DESC]

 

 

2.CREATE  [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name ON table_name 

 (col_name) [ASC | DESC]

 

查看索引

1.SHOW CREATE TABLE table_name

2.SHOW INDEX FROM  table_name

 

 

 

删除索引

1.ALTER TABLE table_name DROP INDEX index_name

2.DROP INDEX index_name ON table_name

 

 

索引其他操作

explain也可以查看索引,以及查看索引性能



 

组合索引最左前缀



 
 

  • 大小: 27.7 KB
  • 大小: 47 KB
  • 大小: 28.7 KB
  • 大小: 35.5 KB
  • 大小: 45.5 KB
  • 大小: 27.5 KB
  • 大小: 53.2 KB
分享到:
评论

相关推荐

    漫谈数据库索引漫谈数据库索引漫谈数据库索引

    数据库索引是数据库管理系统中用于加速数据检索的一种数据结构,它的设计目的是为了提高查询效率,减少数据访问的时间。本文将深入探讨数据库索引的概念、B-Tree数据结构以及索引的分类和作用。 首先,B-Tree是...

    数据库索引设计和优化

    数据库索引设计与优化是数据库管理系统中至关重要的一个环节,它直接影响到数据查询的效率、存储空间的使用以及系统的整体性能。在这个主题中,我们将深入探讨数据库索引的基础概念、设计原则、优化策略以及实际应用...

    数据库索引重建及修复

    数据库索引重建及修复语句

    高清完整版 数据库索引设计与优化

    高清完整版 数据库索引设计与优化 高清完整版 数据库索引设计与优化

    数据库索引设计与优化

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    数据库索引设计与优化.pdf

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    数据库索引技术ppt

    数据库索引技术是数据库管理系统中的核心组成部分,它极大地提高了数据查询效率,使得在海量数据中查找特定信息变得迅速。下面将分别对标题和描述中提到的各个知识点进行详细阐述。 首先,我们来看“文件记录的组织...

    数据库 索引及优化

    ### 数据库索引及优化详解 #### 一、数据库索引的重要性 数据库索引就像是图书中的目录,能够显著提升查询速度。例如,在执行查询 `SELECT * FROM table1 WHERE id = 44` 时,如果没有索引,系统需要逐行扫描整个...

    书籍:Oracle与MySQL数据库索引设计与优化

    《Oracle与MySQL数据库索引设计与优化》这本书深入探讨了两个主流关系型数据库管理系统——Oracle和MySQL中的索引设计和优化策略。索引是数据库性能的关键因素,它们能够加速数据检索,提高系统效率,尤其在大数据量...

    数据库索引的优缺点及其附加资料

    数据库索引作为数据库管理系统(DBMS)中的关键技术之一,其作用在于优化数据的检索速度和确保数据的唯一性。本文将深入探讨数据库索引的优缺点,以及如何在实际操作中合理地运用索引来提升数据库性能。 ### 数据库...

    空间数据库索引技术的研究

    ### 空间数据库索引技术的深度剖析 #### 核心知识点提炼: - **空间数据库索引技术的重要性**:空间数据库索引技术是提升空间数据库存储效率与空间检索性能的关键,尤其在处理大规模空间数据时更为显著。传统索引...

    Oracle数据库索引的维护

    ### Oracle数据库索引的维护 在Oracle数据库管理与优化的过程中,索引的维护是非常关键的一环。合理地创建、管理和优化索引能够显著提高查询性能,降低系统的响应时间,从而提升整个应用程序的效率。本文将从Oracle...

    数据库索引设计与优化,经典圣作品

    本书提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL运行的CPU时间及...

Global site tag (gtag.js) - Google Analytics