Selecting distinct and less than all columns will always be faster than selecting *.
Is SELECT * slower than SELECT column?
For your question just use SELECT *. If you need all the columns there’s no performance difference.
What is the difference between SELECT * and SELECT column name?
SELECT * will return 100 columns * 10 bytes worth of data while SELECT ColA, ColB, ColC will return 3 columns * 10 bytes worth of data. This is a huge size difference in the amount of data that is being passed back across the wire.
Why should you not use SELECT * in SQL?
By using SELECT * you can be returning unnecessary data that will just be ignored but fetching that data is not free of cost. This results in some wasteful IO cycles at the DB end, since you will be reading all of that data off the pages, then perhaps you could have read the data from index pages.