Почему SELECT *
плохая практика? Разве это не означает, что код изменится, если вы добавили новый столбец, который вам нужен?
Я понимаю, что SELECT COUNT(*)
- проблема производительности на некоторых БД, но что, если вы действительно хотели каждый столбец?