一、MySQL中的索引分类:
MySQL目前主要有以下几种索引类型:
1.普通索引(index)
2.唯一索引(unique)
3.主键索引(primary key)
4.组合索引
5.全文索引 (fullText)
二、多个单列索引和联合索引的区别
https://blog.csdn.net/Abysscarry/article/details/80792876
三、索引命令
我们知道,有时候系统部署使用了第三方云服务,可能也是购买了云数据库。云数据库的访问不像在内网(局域网)开发环境一样方便,通过navicat等可视化管理工具就可以轻松进行数据或索引的查询、修改。云服务器一般都是通过堡垒机登录,然后再访问云数据库,一般都是通过命令实现登录。所以,掌握sql命令至关重要。
mysql索引的命令操作:
-
查询表索引
show index from table_name;
-
新增表索引
普通索引: create index index_name on table_name (column_list) ;
唯一索引: create unique index index_name on table_name (column_list) ;
- 删除表索引
drop index index_name on table_name ;
alter table table_name drop index index_name ;
- 修改表索引
创建(单个)普通索引: alter table table_name add index index_name (column_list) ;
创建(多个)普通索引:alter table table_name add index index_name1(column_list1),add index index_name2(column_list2);
创建唯一索引: alter table table_name add unique unique_name (column_list) ;
创建pk: alter table table_name add primary key (column_list) ;
删除普通索引: alter table table_name drop index index_name ;
删除pk: alter table table_name drop primary key ;
说明:
table_name:索引所在的表名
column_list: 指出对哪些列进行索引,多列时各列之间用逗号分隔。
index_name:索引名可选,缺省时,MySQL将根据第一个索引列赋一个名称。
alter table允许在单个语句中更改多个表索引,因此可以同时创建多个索引。
alter table `tbl_feeds`
add index `ix_feeds_username` (`username`) ,
add index `ix_feeds_userid` (`userid`) ,
add index `ix_feeds_content` (`content`) ,
add index `ix_feeds_score` (`score`) ,
add index `ix_feeds_weight` (`weight`) ;
四、字段变更与索引
如果从表中删除某列,则索引会受影响。
- 对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。
- 如果删除组成索引的所有列,则整个索引将被删除。