UUID
vrátí univerzální jedinečný identifikátor
(doufejme, že také jedinečný, pokud je importován také do jiné DB).
Citace z dokumentu MySQL (důraz):
Na druhou stranu jednoduše INT primární klíč ID (např. AUTO_INCREMENT ) vrátí jedinečné celé číslo pro konkrétní DB a DB tabulku, která však není univerzálně jedinečná (takže při importu do jiné DB je pravděpodobné, že dojde ke konfliktům primárního klíče).
Pokud jde o výkon, při použití auto-increment by neměl být žádný znatelný rozdíl přes UUID . Většina příspěvků (včetně některých od autorů tohoto webu) se tak uvádí. Samozřejmě UUID může zabrat trochu více času (a prostoru), ale ve většině (ne-li ve všech) případech to není překážka výkonu. Sloupec jako Primary Key by měly být obě možnosti rovnocenné výkonu. Viz odkazy níže:
- Komu
UUIDnebo ne naUUID? - Mýty,
GUIDvsAutoincrement - Výkon:
UUIDvsauto-incrementv cakephp-mysql UUIDvýkon v MySQL?- Primární klíče:
IDs versusGUIDs (kódování hororu)
(UUID vs auto-increment výsledky výkonu, upravené podle mýtů, GUID vs Autoincrement
)

UUID pro / proti (převzato z Primární klíče:ID s versus GUID s
)
Poznámka
Pečlivě bych si přečetl zmíněné reference a rozhodl se, zda použít UUID nebo ne v závislosti na mém případu použití. To znamená, že v mnoha případech UUID s by bylo skutečně výhodnější. Například lze vygenerovat UUID s bez použití/přístupu k databázi vůbec, nebo dokonce použití UUID s, které byly předem vypočteny a/nebo uloženy někde jinde. Navíc můžete snadno zobecnit/aktualizovat schéma databáze a/nebo schéma klastrování, aniž byste se museli starat o ID lámání a vyvolávání konfliktů.
Pokud jde o možné kolize, například pomocí v4 UUIDS (náhodné), pravděpodobnost nalezení duplikátu v rámci 103 bilionů UUID verze 4 je jedna z miliardy.