Нужен ли индекс по части составного ключа в MySQL?
Есть составной ПК ключ, который состоит из 4 значений
user_id
customer_id
deal_id
invoice_id
Если мне нужно выполнить поиск по трем полям user_id, customer_id, deal_id нужно ли вешать отдельный индекс на них, или за счет того, что они входят в составной ключ - поиск и так будет идти быстро?
Для правильного вопроса надо знать половину ответа
Не нужно. Эти три поля находятся в начале индекса и индекс может быть использован при поиске по ним.
Будет ли он использован на самом деле зависит от того, будет ли (по прогнозу MySQL) ускорен поиск.