【发布时间】:2011-06-21 10:00:20
【问题描述】:
我有一个包含 1,000,000 条记录的表,我正在运行一条删除约 700k 行的语句。自动增量索引当然仍然是 1,000,001。之后的最高主键,例如 40,000。
在删除如此大量的行之后,我应该手动将索引设置回 40,001 还是以任何方式优化表?或者 MySQL 在插入新行和之后在 select 语句中使用索引时不关心这个巨大的差距(就速度而言)?
【问题讨论】:
-
重复使用 ID 号码绝不是一个好主意,除非您的可用 ID 真的非常非常少。
-
@Matti:即便如此,最好为 ID 列使用不同的数据类型,例如 bigint(当然是无符号的),以防止与之前删除的键发生冲突...
-
嗯..我想你是对的,重复使用主键一般来说似乎是个坏主意。
标签: mysql optimization indexing sql-delete