На самом деле вам нужно явно указать столбцы (как сказал Люк, это хорошая практика), и вот причина:
Допустим, вы пишете код / сценарии вокруг ваших SQL-запросов. Теперь у вас есть 50 различных вариантов выбора в разных местах вашего кода.
Внезапно вы понимаете, что для этой новой функции, над которой вы работаете, вам нужен еще один столбец (симметрия, вы выполняете очистку и понимаете, что столбец бесполезен и тратит пространство, хотя и труднее).
Теперь вы находитесь в одной из следующих 2 ситуаций:
- Вы явно указали столбцы в каждом запросе: добавление столбца является обратно совместимым изменением, просто закодируйте новую функцию и покончите с этим.
- Вы использовали оператор '*' для нескольких запросов: вы должны отследить их и изменить их все. Забудь об одном, и это будет твоя могила.
О, и я указал, что запрос с селектором '' требует больше времени для выполнения, так как БД фактически должна запросить модель и разработать селектор ''?
Мораль: используйте селектор '*' только тогда, когда вы проверяете вручную, в порядке ли ваши столбцы (в этот момент вам действительно нужно все проверять), в коде, просто проклинайте их, или они станут вашей гибелью.