File tree 1 file changed +15
-1
lines changed 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -344,6 +344,14 @@ entity primary keys::
344
344
// ...
345
345
}
346
346
347
+ .. caution ::
348
+
349
+ Using UUIDs as primary keys is usually not recommended for performance reasons:
350
+ indexes are slower and take more space (because UUIDs in binary format take 128 bits
351
+ instead 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
+
347
355
When using built-in Doctrine repository methods (e.g. ``findOneBy() ``), Doctrine
348
356
knows how to convert these UUID types to build the SQL query
349
357
(e.g. ``->findOneBy(['user' => $user->getUuid()]) ``). However, when using DQL
@@ -530,9 +538,15 @@ entity primary keys::
530
538
}
531
539
532
540
// ...
533
-
534
541
}
535
542
543
+ .. caution ::
544
+
545
+ Using ULIDs as primary keys is usually not recommended for performance reasons.
546
+ Although ULIDs don't suffer from index fragmentation issues (because the values
547
+ are sequential), their indexes are slower and take more space (because ULIDs
548
+ in binary format take 128 bits instead of 32/64 bits for auto-incremental integers).
549
+
536
550
When using built-in Doctrine repository methods (e.g. ``findOneBy() ``), Doctrine
537
551
knows how to convert these ULID types to build the SQL query
538
552
(e.g. ``->findOneBy(['user' => $user->getUlid()]) ``). However, when using DQL
You can’t perform that action at this time.
0 commit comments