Задать вопрос
@psychedelicGeek
Любитель программировать

Кто нибудь объясните мне про индексы в БД, я не вижу в них никакого смысла?

Начну с того что понимание зачем индексы для БД у меня имеются, но я не понимаю в них смысла.
В ChatGPT+Copilot я задавал вопрос, а смысла в индексах, если ты все равно при разработке проекта не можешь знать, какие данные будут самыми запрашиваемые для редактирования или для запросов.

И тут я стал изучать статьи про индексы как русскоязычные, так и англоязычные и наткнулся на несколько авторов, которые говорят что индексы надо ставить уже после того, как твоя база клиентов выросла, запросы увеличились и ты теперь должен вручную это прописывать.

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

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

Есть ли вообще ситуации, когда при WHERE, ORDER BY, JOIN, MIN, MAX, COUNT и прочих таких функциях базы данных, даже при огромной нагрузке на БД, база данных отлично справлялась и без всяких индексов?
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
xez
@xez
TL Junior Roo
Вот вам христоматийная задача - у вас есть телефонный справочник города вида ФИО - номер телефона.
В справочнике 1М+ записей.
Вам нужно найти номер телефона по имени.
Сколько вам потребуется времени на поиск по несортированному, неиндексированному списку в худшем случае?

Надеюсь, вопросов насчет необходимости индексов БД у вас не осталось.
Ответ написан
GavriKos
@GavriKos
если ты все равно при разработке проекта не можешь знать, какие данные будут самыми запрашиваемые для редактирования или для запросов.

Почему это не знаешь? Это вполне себе анализируется на этапе бизнес-требований. Конечно потом индексы можно и нужно пересматривать, но и в начале вполне это может быть понятно исходя из ТЗ.

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

В век быстрых компьютеров еще и растет само по себе количество информации. И потребность оптимизации никуда не делась. К тому же - это бизнес - так что если добавив индекс можно сэкономить на инфраструктуре - то кнчн лучш едобавить индекс, а не вкидывать бабки в дорогое железо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы