So perhaps I don't know the technical name of the 'id' column which has autoincrement so if a similar question exists, I cannot find it. I was wondering about the limit of the number of rows in an InnoDB table and the id reference that goes with it, and what happens when the limit is reached (assuming it can be reached).
It's a risk I have to consider. I have a table which contains a series of tens to hundreds of records which can be added/removed regularly. Assuming my product reaches enormous success (?), assuming records are changed regularly, the id field will quickly tick by. Add a year or more, even five years…
I asked a similar question to this on stackoverflow some time ago and from what I recall I was just asked not to worry about it but nobody could direct me to a hard answer.
Anyone care to share?
Thanks…
Best Answer
Do not use GUIDs -- they have a serious performance problem at scale. (This is because of their randomness.)
Within 5 years (probably within 1 year), you will decide on some significant change and this 'last id' question will be moot.
You are "removing" regularly? Why? If you are doing a
REPLACE
orDELETE
, you probably have some other unique key on which you are finding what to remove. Consider making that thePRIMARY KEY
and eliminate theAUTO_INCREMENT
.I have a
PRIMARY KEY
on virtually every table I make, yet only about 1/3 areAUTO_INCREMENT
.Beware of
INSERT IGNORE
andREPLACE
(and others) -- they pre-allocateAUTO_INCREMENT
ids, but may not use them.