Встречается на собеседованиях • сегодня

Для каких полей по умолчанию создаются индексы в PostgreSQL

В PostgreSQL индексы автоматически создаются для:

  1. Первичного ключа (PRIMARY KEY) - создается уникальный B-tree индекс
  2. Уникальных ограничений (UNIQUE) - также создается уникальный B-tree индекс
  3. Внешних ключей (FOREIGN KEY) - создается не уникальный B-tree индекс (начиная с версии 9.5)

Пример:

sql
CREATE TABLE users (
    id SERIAL PRIMARY KEY,  -- автоматически создаст индекс
    email VARCHAR(255) UNIQUE,  -- автоматически создаст индекс
    department_id INTEGER REFERENCES departments(id)  -- автоматически создаст индекс
);

Для других полей индексы нужно создавать явно командой CREATE INDEX. PostgreSQL не создает индексы автоматически для полей, участвующих в JOIN или WHERE, даже если они часто используются в запросах.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы