我有一张桌子,每天输入许多临时物品。
有时它会变得很讨厌,主键可以达到10k的增量。
由于大多数情况下时间项被删除,我认为没有理由将主键保持在如此高的数目。
我正在寻找的是一种创建查询的方法,其中下一个插入的行键号将是下一个可用的最小ID。
我知道如何使用服务器端代码.
发布于 2014-02-09 11:51:47
( 1)找到最小的未使用的id是可能的,但我不确定这是否符合条件,例如,(另一种选择是加入现有的表)
set @rowid = 0;
SELECT rowid FROM
(select @rowid := @rowid + 1 as rowid
from TABLE) rowids
left join TABLE ON (rowid = ID)
WHERE ID is null
ORDER BY rowid limit 1;2)您还可以维护一个可用的免费ids表。
3)另外,您可以将它们标记为“已删除”,然后再重用这些记录,而不是删除记录。
https://stackoverflow.com/questions/21657761
复制相似问题