首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在MySQL中重置AUTO_INCREMENT需要很长时间

在MySQL中重置AUTO_INCREMENT需要很长时间
EN

Stack Overflow用户
提问于 2010-04-21 17:58:39
回答 2查看 17.6K关注 0票数 10
代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE tablename AUTO_INCREMENT = 10000000

更新此查询需要很长时间。为什么?我需要优化这个查询。

EN

回答 2

Stack Overflow用户

发布于 2010-04-21 19:29:42

ALTER TABLE导致重新构建整个表-如果您的表包含许多行,这可能需要很长时间。

如果您只需要增加auto_increment值,最快的方法是插入一个虚拟行(如果需要,然后删除该行)。这只需要几秒钟的时间,而对于大型表,ALTER table可能需要几天的时间。

例如,假设我有一个表,其中包含一个auto_increment ID列和其他列col1、col2...:

代码语言:javascript
代码运行次数:0
运行
复制
insert into autoinc_table set ID = 10000000;
delete from autoinc_table where ID = 10000000;
票数 13
EN

Stack Overflow用户

发布于 2010-04-22 18:32:20

用户和管理员数据不能按id区分,而必须按另一个字段区分。如果您将id视为没有其他含义的抽象标识符,相信我,它将为您节省大量的时间和资源。

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

https://stackoverflow.com/questions/2681869

复制
相关文章

相似问题

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