Backend Matrix: post #2131 — TG.ME

🚀 Почему твоя база данных «ложится» на простых запросах

Представь книгу на 1000 страниц. Если тебе нужно найти главу про транзакции, ты не будешь читать всю книгу с начала — ты откроешь оглавление в конце. В базах данных такое оглавление называется индексом.

Когда ты делаешь поиск по полю без индекса, СУБД делает Full Table Scan (перебирает миллионы строк вручную).

Медленный запрос:
SELECT * FROM users WHERE email = '[email protected]';


Решение — добавляем индекс:
-- Делаем это один раз при создании или миграции базы
CREATE INDEX idx_users_email ON users(email);


теперь тот же запрос SELECT выполнится не за 500 мс, а за 2 мс, потому что база сразу прыгнет к нужной строке.

⚠️ Индексы ускоряют выборку (SELECT), но немного замедляют запись (INSERT, UPDATE), так как базе нужно перестраивать свое «оглавление» при каждом изменении.
July 9, 2026 276 4