Запускаете ли вы один и тот же запрос независимо от того, что дает вам пользователь? В этом случае этот запрос должен сказать вам, какие индексы использовать.
Например, если ваш запрос может выглядеть как
SELECT * FROM mytable WHERE
B IN (...) AND
C IN (...) AND
D IN (...) AND
E IN (...)
В этом случае, когда вы ограничиваете все столбцы, объединенный индекс со всеми пятью столбцами, вероятно, будет в порядке.
В противном случае создайте один индекс для каждого столбца или объедините столбцы, которые вы всегда ограничиваете, в отдельные индексы.
Помните, что если у вас есть комбинированный индекс, например, B и C, тогда запрос, который не ограничивает B, не будет использовать этот объединенный индекс.