My goal is to use selects on production without affecting anything else.
When I was new to SQL, I just wrote simple selects, but later I learned this can cause locks.
If I don't care about dirty reads, I can use nolocks on every select or set transaction isolation level to read uncommited.
But I do care about dirty reads, so I went with isolation level snapshot. Isolation level snapshot writes into tempdb and I don't know if that's a problem or not (extra writing to database means slower DB and less space?)
So what is the least intrusive way to write a select on DB, where I cannot afford slowing it down or creating shared locks? Should I go back to isolation level read uncommited on every query?
This is asked from developer point of view. I don't know details about DB settings, but want to use selects in a way that will cause the least trouble.