Короткий ответ Индекс — объект базы данных, который ускоряет поиск и выборку строк: по аналогии с алфавитным указателем в книге он позволяет СУБД быстро находить нужные данные, не сканируя всю таблицу подряд. Индексы ускоряют SELECT с условиями в WHERE, с JOIN и с сортировкой ORDER BY. Как это работает подробнее Плата за индекс — дополнительное место для хранения структур и нагрузка на операции записи: при каждом INSERT, UPDATE и DELETE индексы нужно обновлять. Индекс эффективен на колонках, которые часто используются в WHERE, условиях JOIN и ORDER BY, и когда колонка имеет хорошую селективность — много различных значений. Кластеризованный: определяет физический порядок хранения строк, может быть только один на таблицу, обычно строится на первичном ключе. Некластеризованный: отдельная структура с указателями на строки; таких индексов может быть несколько. Уникальный и составной: уникальный гарантирует отсутствие дубликатов, составной строится по нескольким колонкам. Когда индекс не сработает: функция над коло