Если все ваши запросы содержат идентификатор пользователя, вы можете начать с предположения, что идентификатор пользователя должен быть включен в каждый из ваших индексов, возможно, в качестве первого поля.(Можем ли мы предположить, что идентификатор пользователя очень избирателен? То есть, что у одного пользователя не более нескольких тысяч записей?)
Таким образом, ваши индексы могут быть:
user + otherfield1
user + otherfield2
etc.
ваш идентификатор пользователя действительно избирательный, например, несколько десятков записей, тогда только индекс в этом поле должен быть достаточно эффективным (возврат в секунду).
Что приятно в поле "пользователь + другое""index - это то, что mysql даже не нужно просматривать записи данных.Индекс имеет указатель для каждой записи и может просто подсчитывать указатели.