Индекс в базе данных — это специальная структура, которая позволяет находить строки по определённым условиям быстрее, без перебора всей таблицы.
Если таблица — это книга, то индекс — это оглавление. Вместо того чтобы читать каждую страницу, база находит нужное место напрямую.
Рассмотрим пример:
Допустим, нам нужно найти всех пользователей из Москвы:
SELECT * FROM users WHERE city = 'Moscow';
Если в базе ещё нет индекса на колонку
city, PostgreSQL будет просматривать все строки таблицы — это называется Seq Scan.Чтобы ускорить такой запрос, создаём индекс:
CREATE INDEX idx_city ON users(city);
После этого тот же самый запрос может выполняться гораздо быстрее — PostgreSQL использует индекс, чтобы сразу перейти к нужным строкам, не перебирая остальные.
📌 Индексы позволяют ускорить выполнение запросов, особенно в больших таблицах и критически важны при частом использовании фильтрации, сортировки или соединений.
Однако наличие индекса не гарантирует, что PostgreSQL его применит — об этом расскажем в следующей части.
❤ — если было полезно
tags: #обучение
➡ SQL Community | Чат
