Влияние производительности на использование CUID в качестве первичного ключа в Prisma - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть вопрос относительно использования Prisma CUID в MySQL и их характеристик производительности.

В исходном коде Prisma я вижу, что он будет использовать VARCHAR (25) для столбцов идентификаторов, что подразумевает (по крайней мере,) 25 байтов на идентификатор в отличие от 4 или 8 байтов для (большого) целого. И они, конечно, также будут использоваться для таблиц соединений и внешних ключей.

Хотя я думаю, что в настоящее время мы не должны сильно беспокоиться о дисковом пространстве, возможно даже о размере индекса;меня беспокоит эффективность поиска по индексу для VARCHAR. Я понимаю, что CUID монотонно увеличивается, что полезно для индексов b-дерева, но я ожидаю, что целочисленный индекс (намного) более эффективен, чем varchar.

Исследовательская группа Prisma изучала или оценила это? Масштабируется ли это до миллионов (или миллиардов) строк или разваливается в какой-то момент? Спасибо!

...