Q: want to know if MySQL indexes composite unique keys as well. And if it does, is it treated as a normal multi-column index or not
Да, см .:
MySQL требует индексирования столбцов внешнего ключа; если вы создаете таблицу с ограничением внешнего ключа, но без индекса для данного столбца, создается индекс. Исключение: кластеру NDB требуется явный уникальный ключ (или первичный ключ) для столбца внешнего ключа.
https://dev.mysql.com/doc/refman/5.6/en/constraint-foreign-key.html
Комментарий FloridaDBA:
Just add a unique index on the two fields. CREATE UNIQUE INDEX index_name ON table_name(index_column_1,index_column_2,...)
Это возможно, но я не буду рекомендовать "просто" делать это, потому что, как указано в руководстве, это так.
любой крайний левый Префикс индекса может использоваться оптимизатором для поиска строк
Это зависит от того, как составляются ваши запросы и как вы реализуете свои индексы, но возможно ли это, чтобы увидеть снижение производительности потому что он не всегда может использовать вас для составного индекса.
Чтобы получить представление о том, является ли составной индекс хорошей идеей, вы должны изучить все запросы, использующие таблицы, и проверить, как работают такие вещи, как предложения WHERE
использует эти столбцы. Рефакторинг других запросов (если есть) может помочь оптимальному использованию составных ключей.
Для получения дополнительной информации об этом прочитайте эту статью и изучите приведенные примеры.
https://dev.mysql.com/doc/refman/8.0/en/multiple-column-indexes.html