Skip to content

Commit 0b8b95f

Browse files
committed
Add a caution message about using UUIDs as primary keys
1 parent dec8ce2 commit 0b8b95f

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

components/uid.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,14 @@ entity primary keys::
344344
// ...
345345
}
346346

347+
.. caution::
348+
349+
Using UUIDs as primary keys is usually not recommended for performance reasons:
350+
indexes take more space (because UUIDs in binary format take 128 bits instead
351+
of 32/64 bits for auto-incremental integers) and the non-sequential nature of
352+
UUIDs fragments indexes. UUID v7 is the only variant that solves the fragmentation
353+
issue (but the index size issue remains).
354+
347355
When using built-in Doctrine repository methods (e.g. ``findOneBy()``), Doctrine
348356
knows how to convert these UUID types to build the SQL query
349357
(e.g. ``->findOneBy(['user' => $user->getUuid()])``). However, when using DQL

0 commit comments

Comments
 (0)