首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除多行后,是否应该重置表索引/优化?

问删除多行后,是否应该重置表索引/优化?
EN

Stack Overflow用户
提问于 2011-02-04 22:39:03
回答 2查看 1.6K关注 0票数 4

我有一个包含1,000,000条记录的表,并且我正在运行一条删除大约700k行的语句。自动增量索引当然仍然是1,000,001。之后的最高主键,例如40,000。

在如此大量的行删除之后,我应该手动将索引设置回40,001还是以任何方式优化表?或者,在插入新行和随后在select语句中使用索引时(就速度而言),MySQL不关心这种巨大的差距吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-04 22:43:09

MySQL manual说:

如果删除了表的大部分,或者对具有可变长度行的表进行了多次更改,则应使用

OPTIMIZE TABLE

但是不要重置主键,它会把事情搞乱。INT数据类型(大概)在1M的基础上还有很大的增长空间。

在查询速度方面,索引值是1000000还是1000000000无关紧要。

票数 2
EN

Stack Overflow用户

发布于 2011-02-04 22:47:31

之后使用优化表可以帮助MySQL确定如何以最佳/最快的方式执行查询,例如使用索引还是仅使用表扫描?它使用名为Statistics的东西来完成此操作,因此调用OPTIMIZE TABLE基本上就是给它一个提示,表明您已经做出了重大更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4899218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档