MySQL 各种索引区别 查看表索引 添加索引 删除索引
各种索引区别 查看表索引 添加索引 删除索引
- 1-索引介绍
- 1.1-普通索引
- 1.2-唯一索引
- 1.3-主键索引
- 1.4-全文索引
- 1.5-组合索引
- 2-查看表索引
- 3-添加索引
- 3.1-普通索引
- 3.2-唯一索引
- 3.3-主键索引
- 3.4-全文索引
- 3.5-组合索引
- 4-删除索引
1-索引介绍
1.1-普通索引
- 最基本的索引,没有任何限制。
1.2-唯一索引
- 与
普通索引
类似,不同的是:索引列的值必须唯一,但允许有空值。
1.3-主键索引
- 是一种特殊的
唯一索引
,不允许有空值。
1.4-全文索引
- 仅可用于
MyISAM
表,针对较大的数据生成全文索引很耗时、耗空间。
1.5-组合索引
- 为了提高
MySQL
效率可建立组合索引,遵循最左前缀
原则。
2-查看表索引
show index from table_name;
3-添加索引
3.1-普通索引
alter table table_name add index index_name (column_name)**
3.2-唯一索引
alter table table_name add unique (column_name)**
3.3-主键索引
alter table table_name add primary key (column_name)
3.4-全文索引
alter table table_name add fulltext (column_name)
3.5-组合索引
alter table table_name add index index_name (column_name1, column_name2, column_name3)
4-删除索引
drop index index_name on table_name;
# 或
alter table table_name drop index index_name;
# 或
alter table table_name drop primary key;
备注:
- 前两条语句中都删除了
table_name
中的索引index_name
,而最后一条语句只在删除主键索引
中使用,因为一个表中只能有一个主键索引,因此不需要指定索引名。如果没有创建主键索引
,但是表中有一个或多个唯一索引
,则删除第一个唯一索引
。 - 如果表中删除某列,则索引会受影响。对于
多列索引
,删除其中某列,则该列会从索引中删除。如果删除索引组成的所有列,则整个索引被删除。
还没有评论,来说两句吧...