A table havin a million rows isn't big (in my opinion) and shouldn't cause any gray hair. The things you should consider include at least (in no specific order):
- proper indexing, not just the primary key but to satisfy different kinds of frequent/important operations
- avoid over indexing to keep the modifications running smoothly
- using a good design in the database, proper normalization and so on
- use correct data types
- avoid casts
- design and test the SQL statements well
- monitor the usage
- update the statistics frequently enough
- from time to time, defragment the database
- utilize the database to take care about the logic when possible, meaning having triggers, procedures constraints etc