对于下面这两个重建索引的作法,说说你的理解。如果有不合适的,为什么,更好的方法是什么?

对于下面例子中的 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属地 湖北
    举报
    评论
    收藏