Matti Mäkitalo: erste freie ID in einer Lücke finden

Beitrag lesen

Hi,

in einer Tabelle speichere ich Termine, die nach Überschreitung des Datums gelöscht werden.

Ich war immer so stolz auf die extrem kurzen Links, doch nun ist die ID im fünfstelligen Bereich und ich möchte die Lücken wieder nutzen.

Irgendwo war hier mal eine Diskussion, sowas auf keinen Fall zu tun, weil das Internet ja nichts vergisst und ur-uralte Links dann auf den falschen Termin verweisen. Sollen sie doch. Ich bin nicht dafür verantwortlich, wenn Google & Co längst nicht mehr erreichbare Seiten jahrelang als Leichen führen.

Was bringt dir die kürzere URL? Die ID selber sagt nichts aus. In der Standard-Konfiguration weiß man wenigstens meistens, dass kleinere IDs "älter" sind (aber auch das ist nur ein grober Anhaltspunkt).
Als nächstes machst du dir eine große Baustelle auf, nämlich derjenigen, dass du die IDs selbst generierst anstatt dies Auto-Increment/Sequenzen automatisch erledigen zu lassen. Ich würde an deiner Stelle einfach damit leben.

Also, wie finde ich die erste Lücke? Ich freue mich schon auf zwei- und dreistellige IDs.

Generiere eine (temporäre) Tabelle mit allen Zahlen. Dann suchst du die kleinste Zahl aus dieser Tabelle, welche nicht als ID in deiner Termintabelle enthalten ist.

Bis die Tage,
Matti