Mysql中的索引

众所周知,索引可以加快查询的速度,相似看书的时候先查目录以后再翻到具体那一页。mysql

1、普通索引,主键索引,惟一索引,联合索引sql

Mysql中索引分为:普通索引,主键索引,惟一索引,联合索引。mysql的innodb引擎建立索引的时候默认使用B+数数据结构。                                              innodb 不支持hash的数据结构数据结构

    1.主键索引
spa

        在mysql中主键索引默认是汇集索引。主键索引不可重复。
orm

        primary (key)
索引

        alter table test add primary key (id)hash

    2.普通索引 
it

    alter table test add index index_test (name) innodb

    若是是字符类型,则支持指定索引字段长度table

     alter table test add index index_test (name(10)) 

    3.惟一索引

    惟一索引的字段值不能重复,能够为空。

    alter table test add index index_test ()

    4.联合索引

    联合索引就是多个字段组成的普通索引或者惟一索引。

    alter table test add index index_test (id,name) using btree

2、相关sql语句

        查询表的索引

        show index from test


3、汇集索引和非汇集索引  也称为聚簇索引

    1。汇集索引    

            汇集索引一张表只能存在一个。

            汇集索引是物理上连续的,按照汇集索引的顺序来存储实际的数据。

                mysql中的innodb引擎支持汇集索引,在mysql中主键索引就是汇集索引。

4、覆盖索引

    覆盖索引正如其名,意思就是索引中直接存了实际数据,这样能够直接从索引中拿到数据。不用再根据索引指向的地址去取数据。

相关文章
相关标签/搜索