这篇文章主要介绍mysql中索引有什么类型,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
MySQL目前主要有的索引类型为:普通索引、唯一索引、主键索引、组合索引、全文索引。下面本篇文章就来给大家介绍一下这些MySQL索引,希望对你们有所帮助。
下面我们来看看MySQL目前主要有的索引类型:
1、普通索引
普通索引是最基本的索引,它没有任何限制,值可以为空;仅加速查询。可以通过以下几种方式来创建或删除:
1)、直接创建索引
CREATE INDEX index_name ON table(column(length))
2)、修改表结构的方式添加索引
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
3)、删除索引
DROP INDEX index_name ON table
2、唯一索引
唯一索引与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。简单来说:唯一索引是加速查询 + 列值唯一(可以有null)。以通过以下几种方式来创建:
1)、创建唯一索引
CREATE UNIQUE INDEX indexName ON table(column(length))
2)、 主键索引
主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。简单来说:主键索引是加速查询 + 列值唯一(不可以有null)+ 表中只有一个。
一般是在建表的时候同时创建主键索引:
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );
当然也可以用 ALTER 命令。记住:一个表只能有一个主键。
4、组合索引
组合索引指在多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合。
可以说:组合索引是多列值组成的一个索引,专门用于组合搜索,其效率大于索引合并。
大型站长资讯类网站! https://www.0817zz.com