How can count(*) in an InnoDB table be faster than MAX() considering
that the former needs to do a table scan and the latter can use an index
if correctly used? My code starts the sequence from 1.
Johan De Meersman wrote:
> Kudos for managing to drag up such an obscure piece of functionality
> :-) I can see where it would be useful, though.
> As to your question, though: given that that page indicates that it
> will reuse deleted sequence numbers, I think your best bet would be
> select @id := count(*)+1 from table where cluster='clusterA' AND
> file='fileA' ; - should be slightly faster than a max(), I think. That
> in a trigger on your table should emulate the behaviour pretty closely.
> Am I mistaken, or does your code try to start from sequence 0 ?
> Bier met grenadyn
> Is als mosterd by den wyn
> Sy die't drinkt, is eene kwezel
> Hy die't drinkt, is ras een ezel