сказать) ограничение на таблицу - так чтобы уникальность определялась по двум колонкам. Я запутался.
В pgAdmin 4, в свойствах таблицы, при редактировании ограничения есть 2 строки - "Columns" и "Include columns". Подскажите, пожалуйста, где указывать столбцы, и в чём разница между этими двумя строками?
Заранее прошу прощения за простые вопросы и потраченное время, я новичок совсем.
При создании индекса в columns добавляются те колонки, по которым идет выборка (те, что в where), а в include выводимые поля. Т.е. select a,b from t where c=3. Для ускорения поиска создаешь index по полю c, но оптимизатор все равно вынужден будет делать лукап, что бы получить поля a и b, т.к. этих полей нет в индексе. Добавь их в инклуд и лукапа не будет. https://www.postgresqltutorial.com/postgresql-unique-constraint/#:~:text=Creating%20a%20UNIQUE%20constraint%20on,unique%20across%20the%20whole%20table.
Пиши DDL руками, и не будет таких проблем
Обсуждают сегодня