索引的相关操作
1.查看索引
sql
show index from 表名;
2.创建索引
sql
create index 索引名字 on 表名(列名);
创建索引,是一个危险操作
创建索引的时候,需要针对现有的数据,进行大规模的重新整理
如果当前表是一个空表,或者数据不多,创建索引都没啥问题
如果这个表本来就很大,创建索引,也很容易就把数据库服务器给卡住
一般来说,创建索引,都是在创建表的时候就规划好的~~一旦表已经使用了很久了,有很多数据了再想修改索引,就要慎重了
非得创建也不是不行,就需要使用一些其他的技巧
一个做法:另外搞一个机器,部署mysql服务器,也创建同样的表,并且把表上的索引创建好,再把之前的机器的数据给导入到新的MySQL服务器上(导入数据的过程就可以控制节奏)多花点时间导数据,不要影响到原来服务器正常的运转
当所有数据都导入完毕,就可以使用新的数据库,替换旧的数据库了
3.删除索引
sql
drop index 索引名
手动创建的索引,可以手动删除
如果是自动创建的索引(主键/外键,unique),不能删除的!!
删除索引操作也是一个危险操作,数据库和数据 实在是太重要了
索引背后的原理
索引也是通过一定的数据结构来实现的