Какие есть годные практики для работы с большим количеством записей в таблице (миллион+)?
Большим?
Для современных компьютеров (даже слабеньких смартфонов) - это мизерное количество.
Индексы называется решение.
Не должно тормозить на ваших объемах.
Индексы не правильные. Или запросы.
Или вообще проблема не в БД, а уже после нее.
Сделать explain, посмотреть что там неэффективного.
И, важный момент, выборка данных
должна фильтроваться средствами СУБД.
Отдаваться из СУБД на дальнейшую обработку в вашей программе должен мизер.
Партиционирование.
Вы это серьезно? На смешном миллионе записей?
Объединение нескольких колонок в одну, для однотипных данных. Они будут храниться в формате JSON.
Вообще никак не повлияет. Если только речь не идет о сотнях колонках, объединенных в одну.
Индексы, выборочно для полей, по которым чаще всего осуществляется поиск.
А вы уже знаете "насколько именно чаще"?
С цифрами?
Замеры провели?