可以重置初始/开始自动增量值会影响查询速度吗?

时间:2016-06-14 15:32:51

标签: mysql primary-key auto-increment

我有一个带有自动增量ID PK的600万记录表。由于过去几周的各种操作,我的起始ID为200万。更新和其他查询需要很长时间,我想知道iD范围从2mil到8mil与1到600万的起点是否负责?我注意到有趣的是,如果我使用一系列说ID>1000000 and ID<1001000进行选择/更新似乎比ID>1 and ID<1000慢。

是否值得删除现有的PK并添加一个从1开始的新PK?我知道我可以做到

ALTER TABLE tablename Auto-Increment=1

但我不能在这里做600万现有记录和自动增量ID。

显然我可以尝试和测试,但出于各种原因,包括考虑到桌子,索引等的大小,我想在花时间和精力之前询问是否有人知道明确回答。

更新 现在我做了以下事情:

CREATE TABLE table_new LIKE table;

使用索引和所有

来欺骗表

然后:

Alter Table table_new set Auto-Increment=1

因此空的duped表将count重置为1

然后我从原始表插入到duped表中:

Insert into Table_New (FieldA,FieldB,FieldC) Select FieldA,FIeldB,FieldC from Table

要插入所有记录减去ID字段,以便为每个插入的记录添加自动增量,从1开始作为指定的重新设置,最后当然:

 RENAME TABLE table TO table_old;
 RENAME TABLE table_new TO table;

0 个答案:

没有答案