Рано или поздно каждый веб разработчик сталкивается с ситуацией, когда сайт "падает" и его приходится "поднимать". Причин тому может быть множество, в данной записи мы рассмотрим как применяется одно из лекарств для повышения производительности Drupal - а именно - ИНДЕКСЫ.
Что такое индексы?
Индексы применяются для быстрого поиска строк с указанным значением одного столбца. Без индекса чтение таблицы осуществляется по всей таблице, начиная с первой записи, пока не найдены соответствующие строки. Чем больше таблица, тем больше накладные расходы. Если же таблица содержит индекс по рассматриваемым столбцам, то MySQL может быстро определить позицию для поиска в середине файла данных без просмотра всех данных. Для таблицы, содержащей 1000 строк, это будет как минимум в 100 раз быстрее по сравнению с последовательным перебором всех записей. Однако в случае, когда необходим доступ почти ко всем 1000 строкам, быстрее будет происходить последовательное чтение, так как в его случае не требуется операций поиска по диску (источник).