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

На какие поля PostgreSQL создает индексы

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

  1. PRIMARY KEY – автоматически создает уникальный индекс B-tree.
  2. UNIQUE – также создает уникальный индекс B-tree для обеспечения уникальности.
  3. FOREIGN KEY – не создает индекс автоматически, но его рекомендуется добавлять вручную для оптимизации JOIN-операций.

Пример:

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

Для FOREIGN KEY лучше добавить индекс вручную:

sql
CREATE INDEX idx_users_department_id ON users(department_id);

Дополнительные индексы (GIN, GiST, BRIN и др.) создаются только явно под конкретные запросы.

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

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

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

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