Zgodnie z ogólną zasadą w programowaniu, prawie zawsze najlepszą praktyką jest bycie jednoznacznym.
Wybierz * tak naprawdę nie zaoszczędzisz tak dużo pod względem konserwacji, biorąc pod uwagę, że kod, który wykorzystuje to zapytanie, i tak będzie musiał zostać zaktualizowany w większości przypadków.
Jeśli piszesz kod, który po prostu ślepo operuje na dowolnych polach znajdujących się w określonej tabeli, prosisz o kłopoty. Na przykład administrator, który dodaje do tabeli jakąś kolumnę konserwacji, taką jak znacznik czasu, nie będzie myślał, że nagle pojawi się ona w Twojej aplikacji. Najlepszym sposobem na zabezpieczenie swojej aplikacji w przyszłości jest bycie wyraźnym.
Nie zapomnij również o kosztach przepustowości w architekturze klient-serwer, wynikających z przeciągania w dół kolumn danych, których nie będziesz używać.
Dokładniej omówiłem wpływ używania select * na wydajność w tym krótkim artykule, który napisałem jakiś czas temu:"Nie używaj Wybierz *"