Представьте, что вам нужно поддерживать уникальность данных, например, адресов электронной почты в таблице базы данных. Однако в таблице есть строки, помеченные как удаленные с помощью поля deleted_at
, и они также остаются в базе данных. В такой ситуации создание уникального индекса на поле с электронной почтой становится невозможным из-за дублирующихся значений. Частичный индекс решает эту проблему, позволяя включать в индекс только записи, которые не помечены как удаленные.
В PostgreSQL добавление уникального индекса для активных пользователей выглядит так:
В этом случае строки, у которых deleted_at
не задан, включаются в индекс, а остальные игнорируются, что делает индекс более компактным и эффективным.
Мета информация
Область:: 00 Базы Данных
Родитель::
Источник::
Создана:: 2024-11-05
Автор::