Кто нибудь объясните мне про индексы в БД, я не вижу в них никакого смысла?
Начну с того что понимание зачем индексы для БД у меня имеются, но я не понимаю в них смысла.
В ChatGPT+Copilot я задавал вопрос, а смысла в индексах, если ты все равно при разработке проекта не можешь знать, какие данные будут самыми запрашиваемые для редактирования или для запросов.
И тут я стал изучать статьи про индексы как русскоязычные, так и англоязычные и наткнулся на несколько авторов, которые говорят что индексы надо ставить уже после того, как твоя база клиентов выросла, запросы увеличились и ты теперь должен вручную это прописывать.
Потом я прочитал что в век быстрых компьютеров, оптоволокна, быстрого более 1000мбит интернета и прочего, в индексах смысл теряется, и они могут замедлить работу твоей базы данных.
Теперь у меня какой то, диссонанс случился, одни говорят про великую пользу индексах, другие про никакой пользы, третьи про то, что индексы надо ставить уже после того, как запросы увеличились, но если ты неправильно пропишешь индексы, то можешь попрощаться с быстрой оптимизацией баз данных.
Есть ли вообще ситуации, когда при WHERE, ORDER BY, JOIN, MIN, MAX, COUNT и прочих таких функциях базы данных, даже при огромной нагрузке на БД, база данных отлично справлялась и без всяких индексов?
Dmitry Roo, это всё понятно, но тут говорят и про ssd m2, быстрые процессоры и прочего.
Если у ssd m2 чтение и запись от 1200мб/сек, то и на бд это должно влиять.
Psychedelic Geek, да и хоть в памяти вся БД пусть будет, один чёрт поиск по индексу на порядки быстрее перебора при сколь-нибудь значимых объёмах данных.
Похоже, вы совсем новичек, если считаете что оптоволокно здесь хоть что то ускорит.
С правильным индексом на приличной базе выполнение запроса ускоряется в сотни раз. Это все что нужно знать для начала
За более подробным ответом идти надо не на форумы, а в документацию используемой вами бд. Там будет подробно все расписано, а в профильных книгах будет информация как они строятся, и работают внутри.