TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.7K subscribers
Post #2530 1.34K
Вы создали составной индекс:
(first_name, last_name, city)


Затем выполнили запрос:
SELECT *
FROM users
WHERE last_name = 'Smith';


Результат?
База данных проигнорировала индекс и выполнила Sequential Scan (полное последовательное сканирование таблицы).

Почему? 🤔

Разве индекс не должен использоваться, если last_name является его частью?
Что изменится, если запросы будут такими:
WHERE first_name = ?
WHERE first_name = ? AND last_name = ?
WHERE first_name = ? AND city = ?


Понимание порядка полей в составных индексах — одна из самых важных оптимизаций производительности SQL, которую должен знать каждый backend-разработчик.

👉 Java Portal
  • ❤ 5
  • 🔥 2
More from @java_iibrary
  1. Sep 21, 2026Шпаргалка по проектированию веб систем System Design 101 Подробное руководство по архитект…
  2. Sep 21, 2026Псс, хочешь перестать мониторить Telegram в поисках работы? 👀 Ты листаешь каналы, видишь…
  3. Sep 21, 2026💡 Java/Spring: отдавайте предпочтение constructor injection вместо @Autowired для полей.…
  4. Sep 20, 2026Если бы пришлось заново начинать свой путь в Java в 2026 году, я бы придерживался такого r…
  5. Sep 20, 2026Вайбкодим «Полный путь разработки AI-агентов: от MCP до Agentic RAG» Образовательная прогр…
  6. Sep 20, 2026💡 Java: сортируйте с помощью Comparator.comparing() и забудьте про громоздкий compare() ✅…
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 →