У меня есть несколько таблиц в табличном пространстве, таких как t_a, t_b, t_c. У каждого есть имя поля profile_id, есть ли какой-либо хороший способ генерации уникальных ключей для этих таблиц?Базовый глобальный уникальный бизнес-ключ в postgreSQL
ответ
Большинство людей, которые хотят, чтобы вы описали, используют uuid
ключи - см. Расширение ossp-uuid
для полезных функций генерации uuid.
Другой альтернативой является наличие одной последовательности, с которой вы получаете ключи от nextval
. Все ваши ключевые поля будут хотеть быть bigint
. Просто CREATE SEQUENCE business_object_key_seq;
.
Ни один из вышеперечисленных случаев не позволяет вам использовать глобальную уникальность, не вмешиваясь со сложными триггерами. Хотя ни один из них не будет генерировать дублирующий ключ, так что вы не будете получать дубликаты, если ваш код не сделает ничего глупого, и вы все равно можете обеспечить уникальность в любой заданной таблице.
Другой подход, используемый некоторыми людьми, состоит в том, чтобы иметь таблицу с сгенерированным первичным ключом и ничего другого или, возможно, своего рода поле object_kind. Это может служить ссылкой на внешний ключ. Может показаться, что это позволяет вам применять уникальность, но на самом деле это довольно бесполезно, потому что это не мешает вам иметь строку с id = 42 как в t_a
, так и в t_b
.
- 1. DDD: уникальный глобальный/локальный идентификатор совокупных сущностей в PostgreSQL
- 2. Глобальный уникальный идентификатор в Vertica
- 3. Глобальный уникальный идентификатор для записей
- 4. Глобальный уникальный идентификатор, отображающийся в SMS
- 5. Postgresql Создать уникальный индекс
- 6. Глобальный уникальный идентификатор сообщения для приложения Akka
- 7. NodeJS Express - глобальный уникальный идентификатор запроса
- 8. Создайте 50-битный глобальный уникальный идентификатор.
- 9. создать глобальный уникальный объект из интерфейса
- 10. Как создать глобальный уникальный идентификатор ошибки? C#
- 11. PostgreSQL Уникальный Constraint с исключениями
- 12. Уникальный идентификатор в таблице PostgreSQL 9.4
- 13. Базовый SQL-выбор в Postgresql не работает
- 14. Pomm Postgresql множественным схемы и глобальный класс
- 15. JDBC - PostgreSQL - пакетная вставка + уникальный индекс
- 16. postgresql - уникальный с ограничением на извлечение
- 17. Как обновить уникальный ключ ограничение PostGreSQL
- 18. Как добавить условный уникальный индекс на PostgreSQL
- 19. базовый питон, читающий глобальный вход для всех входов?
- 20. Уникальный идентификатор, определяемый большинством производных классов, доступный через базовый класс
- 21. Уникальный уникальный уникальный индекс
- 22. Postgresql Обновите уникальный столбец и подтвердите его перед обновлением
- 23. Postgresql: выберите уникальный порядок пары на другом поле
- 24. Изменить тему.AppCompat глобальный цвет
- 25. Зачем переносить глобальный параметр окна, если он глобальный
- 26. Hadoop: Как я могу дать каждому значению глобальный уникальный идентификационный номер в качестве ключа в Mapper?
- 27. уникальный уникальный индекс datamapper
- 28. Уникальный уникальный трек Mailgun
- 29. Глобальный экземпляр класса в php
- 30. Как определить новый глобальный объект в JavaScript
Благодарим вас за ответ ~ – Paul
, если несколько таблиц используют одну последовательность, будет ли это нарушать производительность базы данных? – Paul
Это не имело бы никакого значения. Там нет блокировки, связанной с последовательностями, и никаких утверждений. –