对于下面这两个重建索引的作法,说说你的理解。如果有不合适的,为什么,更好的方法是什么?
对于下面例子中的 InnoDB 表 T,如果你要重建索引 k,你的两个 SQL 语句可以这么写:
```sql
alter table T drop index k;
alter table T add index(k);
```
如果你要重建主键索引,也可以这么写:
```sql
alter table T drop primary key;
alter table T add primary key(id);
```
我的问题是,对于上面这两个重建索引的作法,说出你的理解。如果有不合适的,为什么,更好的方法是什么?
1 个回答
重新审视自己,什么使你快乐,什么就是眼下最珍贵。东方朔重建索引 k 的做法是合理的,可以达到省空间的目的。但是,重建主键的过程不合理。不论是删除主键还是创建主键,都会将整个表重建。所以连着执行这两个语句的话,第一个语句就白做了。这两个语句,你可以用这个语句代替 : alter table T engine=InnoDB。发布于 2021-11-21 09:10 •IP属地 湖北举报评论收藏
公众号进入网站体验更佳

