SELECT * feels convenient…
…but costs you RAM, CPU, network IO, and index usage.
❌ Why SELECT * Is Dangerous
-
🧱 Prevents covering index usage
-
🚚 Sends unnecessary columns over network
-
🔄 Breaks when columns change
-
🐢 Slows down joins & scans
-- ❌ Bad SELECT * FROM Orders; -- ✔ Good SELECT Id, OrderDate, Amount FROM Orders;
💡 Bonus
Use covering indexes to turn scans into instant index seeks.
