- SELECT * should be avoided because it retrieves all columns, even if not required.
- In one project, a dashboard query was slow because unnecessary columns were being loaded.
- It increases data transfer between database and reporting layer.
- It consumes more memory and impacts report performance.
- If new columns are added to the table, SELECT * may unintentionally change output.
- It also makes query logic less clear and harder to maintain.
- Fetching only required columns improves performance and readability.
- So in production, we always specify only the necessary fields.
Why should SELECT * be avoided in production queries?
Updated on February 25, 2026
< 1 min read
