Тут всё очень тонко, недавно столкнулся с похожей проблемой, итоги можно почитать тут
Можно ли ускорить запрос к БД (добавить индексы)?
Мой вывод, надо делать индексы, исходя из возможных запросов к БД исходя из вашей бизнес-логики (т.е. возможны ситуации, когда надо делать 2 индекса, когда один, а когда лучше и не делать) и типов полей (для дат например есть нюансы).
Ну и для разных БД, скорее всего есть свои моменты.