Я считаю, что столбцы, которые нуждаются в индексации, обычно "очевидны". Под этим я подразумеваю, что если вы создаете запросы типа «выберите p из Person p, где p.surname =: surname», тогда независимо от того, на какую фамилию в столбце ссылается, нужен индекс.
Аналогично, каждый внешний ключ должен быть проиндексирован.
И нет, я не жду, пока производительность не станет проблемой. Индексы - это то, что я делаю с самого начала.
О, еще я хотел добавить, что большинство (если не все) ORM имеют возможность включить ведение журнала операторов. Они часто не особенно читаемы (одна строка, имена таблиц t0, t1, t2 и т. Д.), Но это может сказать вам, какие запросы выполнялись и как часто.