Sobald ein Projekt von Auto-Increment-Primärschlüsseln auf global eindeutige IDs umsteigt, fällt die Wahl schnell auf UUIDv4, einfach weil es der bekannteste Standard ist. Was dabei oft übersehen wird: Eine komplett zufällige ID fragmentiert B-Tree-Indexe auf eine Art, die Auto-Increment-Schlüssel nie tun würden, und kann bei großen, schnell wachsenden Tabellen spürbar Performance kosten. Die
Symfony UID-Component bietet mit UUID und ULID zwei APIs unter einem gemeinsamen Dach, und dieser Artikel zeigt, wann welches Format tatsächlich die bessere Wahl ist und wie beide sauber mit Doctrine zusammenspielen.