TGViewer
SQL Ready | Базы Данных SQL Ready | Базы Данных @sql_ready · 17.5K subscribers
Post #1041 1.97K
Индексы: когда они вредят вместо помощи!

Разбираем типичные ошибки при работе с индексами. Неправильное использование может замедлить базу данных вместо ускорения.

Каждый индекс замедляет INSERT/UPDATE операции:
CREATE INDEX idx_user_name ON users(name);
CREATE INDEX idx_user_email ON users(email);
CREATE INDEX idx_user_phone ON users(phone);
CREATE INDEX idx_user_city ON users(city);


При каждой вставке СУБД обновляет все 4 индекса, что сильно замедляет запись.

Функции делают индексы бесполезными:
SELECT * FROM orders WHERE YEAR(order_date) = 2024;
-- Индекс на order_date не используется


Правильно без функций:
SELECT * FROM orders WHERE order_date >= '2024-01-01' AND order_date < '2025-01-01';


Порядок столбцов критичен:
CREATE INDEX idx_user_city_age ON users(city, age);


Работает для поиска по city или city+age, но бесполезен для поиска только по age.

🔥 Поэтому используйте EXPLAIN для проверки, что индексы действительно работают!

➡️ SQL Ready | #практика
  • 👍 19
  • 🔥 9
  • ❤ 7
More from @sql_ready
  1. Oct 13, 2026🖥 Oracle - ограничение количества строк и выборка Top-N! Получение первых N строк с FETCH…
  2. Oct 12, 2026Обновляйте несколько колонок одним подзапросом! Вместо нескольких одинаковых подзапросов:…
  3. Oct 9, 2026❤️ sqlite-postgres-cours — большой практический курс по базам данных! Материал ведёт от пе…
  4. Oct 8, 2026Почему UNIQUE допускает несколько NULL в PostgreSQL! Ограничение UNIQUE гарантирует уникал…
  5. Oct 7, 2026📂 Шпаргалка по паттернам распределённых систем! Например, Replication повышает доступност…
  6. Oct 6, 2026Проверяйте связи с учётом периода! В PostgreSQL 18 связь может учитывать ещё и период его…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →