По моему опыту, время доступа к сбору * запроса или запроса конкретного поля уменьшается по сравнению с общим временем запроса, по крайней мере, если это происходит через Интернет.
IE в моем тестировании с веб-сайтами, размещенными как в США, так и за рубежом, я обычно вижу, что разница между select fld, fld, fld и select * незначительна, если у вас большие строки таблицы и много строк.
Лично я считаю, что это в некотором роде суждение, основанное на размере вашей системы, таблиц, а также на том, что ваши таблицы и столбцы находятся в состоянии постоянного изменения. Если бы я был вами, не зная размера вашей системы, я бы выбрал *, но, очевидно, это не «лучшая практика», но я думаю, что это действительно должно быть в зависимости от конкретной системы.
В настоящее время я являюсь членом команды, работающей над проектами HUGE C #, WCF, WPF, SQL, и везде они использовали «лучшие практики», и у нас огромный беспорядок. В некоторых случаях было потрачено столько усилий, чтобы следовать передовой практике, что в результате было гораздо больше работы по ее поддержанию. У нас есть интерфейсы от bazillions, а также обертки, адаптеры, Unity и т. Д. Сейчас, чтобы сделать одно небольшое изменение, оно затрагивает 15-20 файлов. Я понимаю, что это немного не по теме, но не следуйте слепо передовой практике только потому, что она есть.