MySQL中如何重建索引

原创
2020/01/16 21:48
阅读数 1.7K

为什么需要重建索引?

索引可能因为删除,或者页分裂等原因,导致数据页有空洞,重建索引的过程会创建一个新的索引,把数据按顺序插入,这样页面的利用率高,也就是索引更紧凑、更省空间。

假设有一张表T,上面有索引k,需要重新建立索引k,有下面两种方法:

## 重新索引k
alter table T drop index k; 
alter table T add index(k);

## 重建主键索引
alter table T drop primary key; 
alter table T add primary key(id);

上面的 重建主键的过程不合理。不论是删除主键还是创建主键,都会将整个表重建。所以连着执行这两个语句的话,第一个语句就白做了。这两个语句,可以用这个语句代替 : alter table T engine=InnoDB;

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部