SQL: какая выборка работает быстрее -- с указанием * или именами всех полей таблицы?
Какой код работает быстрее, если у нас есть таблица с полями `id`, `name`, `city`? SELECT * FROM `table`
или SELECT `id`, `name`, `city` FROM `table`
?
В приведенном примере особой разницы нет. Разница ощущается много и густо когда вы начинаете использовать JOIN. У вас будет горсть id и хрен знает какое откуда. Или одно и тоже поле получите несколько раз.
Всё дело в передаче данных после обработки запроса,
в случае с * - все поля попадут в выборку;
если явно перечислить поля, тем самым ограничив поля которые вернуться с запроса - объем данных для передачи может быть меньше, следовательно обработка будет быстрее
пересчеление всех нужных полей считается хорошей практикой + экономит объем переданных данных ;)