Mysql自动增量没有索引

时间:2018-01-24 09:48:11

标签: mysql auto-increment

我认为这是不可能的,但我在此要求确定。

以下是我的想法:

  • 我想插入很多行并为它们生成id(使用自动增量)
  • 众所周知,更快1)没有索引,插入完成后插入并添加索引,而不是2)首先创建索引并执行插入操作。这是因为插入期间索引的开销

由于我正在进行插入...选择,我无法从应用程序生成ID。

所以,基本上,最好的是拥有一个不需要索引的自动增量。

我不明白为什么mysql需要一个索引来实现自动增量?不能简单地存储最后插入的id,然后递增它?

欢迎任何输入!

1 个答案:

答案 0 :(得分:0)

您可以生成类似这样的ID

insert into destination_table (col_id, col2, col3)
select @rank := @rank + 1, colX, colY
from source_table
cross join (select @rank := 0) r
order by some_column