[英]Looking for MySQL alternative primary key “auto increment” for temporal information table for insert query
我有一張桌子,每天都在其中輸入許多臨時項目。
有時可能會令人討厭,並且主鍵最多可以增加10k。
由於大多數時候會刪除臨時項,因此我看不出將主鍵保持如此高的數目的理由。
我正在尋找一種創建查詢的方法,其中下一個插入的行鍵號將是下一個可用的最小ID。
我知道如何使用服務器端代碼。
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)您還可以維護一個免費的可用ID表。
3)此外,您可以將它們標記為“已刪除”,而不是刪除記錄,然后重新使用記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.