Come regola generale nella programmazione, è quasi sempre una buona pratica essere espliciti.
Selezionare * non ti fa risparmiare molto in termini di manutenzione dato che il codice che consuma quella query dovrà comunque essere aggiornato nella maggior parte dei casi.
Se stai scrivendo codice che opera alla cieca su qualsiasi campo si trovi in una tabella specifica, stai cercando problemi. Ad esempio, il DBA che aggiunge una sorta di colonna di manutenzione a una tabella come un timestamp non penserà che verrà visualizzato improvvisamente nella tua app. Il modo migliore per rendere la tua app a prova di futuro è essere esplicito.
Inoltre, non dimenticare il costo della larghezza di banda in un'architettura client-server dovuto al trascinamento verso il basso di colonne di dati che non utilizzerai.
Ho fatto un trattamento più approfondito sulle implicazioni sulle prestazioni dell'utilizzo di select * in questo breve articolo che ho scritto qualche tempo fa:"Non utilizzare Seleziona *"