Удивительное и невероятное о первичных ключах PostgreSQL: serial, bigserial, UUID v4, ULID, UUID v6 HD
Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).
12n.ru 18163 ролика
serial, bigserial, UUID v4, ULID, UUID v6.
Всё о первичных ключах в PostgreSQL. Простые и составные, естественные и искусственные, искусственные числовые, UUID v4, ULID, UUID v6 — в чём разница и когда что выбирать.
Книжный клуб:
t.me/t0digital/528
botanim.to.digital/
botanim_to_digital_bot.t.me/
ULID для PostgreSQL:
github.com/geckoboard/pgulid/blob/master/pgulid.sql (но возвращает text)
UUID v6 для PostgreSQL:
gist.github.com/fabiolimace/515a0440e3e40efeb234e12644a6a346
00:00:00 План
00:00:45 Что такое первичный ключ
00:00:44 Простые и составные ключи
00:02:53 Естественные и искусственные ключи
00:07:04 Что лучше — естественные или искусственные ключи?
00:14:21 UUID, GUID
00:17:08 Преимущества UUID в качестве первичного ключа
00:19:55 Недостатки UUID в качестве первичного ключа
00:26:26 CLUSTER
00:27:55 ULID
00:31:24 UUID v6
00:32:31 Префиксы первичных ключей
00:35:55 Реализация естественного ключа
00:36:36 Реализация ключа числовой последовательности
00:40:02 Реализация IDENTITY COLUMN
00:41:50 Реализация UUID v4
00:43:25 Реализация UUID v6
00:45:17 Размер данных
00:47:22 Резюме
00:49:50 Благодарность
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Telegram канал — t.me/t0digital
ВК — vk.com/digitalize.team
RuTube — rutube.ru/channel/24802975/about/
Дзен — dzen.ru/id/6235d32cb64df01e6e78c883
Если x = «Иногда» и y = «Всегда» то
y = K * x, при условии К — частота случае «Иногда» и она стремиться к бесконечности )))))
Первичный ключ — он для идентификации. Для избежания дублирования просто создаёшь индекс уникальности по нужным колонкам. Это то, что делает первичный ключ, кстати.
У меня тоже была как проблема с инкрементом sequence, когда я прям на горячем проде с 150k rpc в секунду добавил строку вручную с явным указанием id.
И как посыпались ошибки! Ух… Хорошо быстро поправил sequence номер.