What's the least risky way to Select on production environment?
The correct answer will depend on a number of things:


The size of your database.
The size of your buffer pool compared to your database.
The volume and nature of the background (ie: not you) query activity.
The nature of the queries you want to run.
What will you bottleneck on first (CPU, I/O, tempdb throughput).
How much extra latency you are willing to tolerate in your normal workload.


You should always get an estimated query plan and look for intensive operations, such as scans of large tables/indexes, or sorts of a large number of rows. One of the most important considerations when working with a live, heavily used database is to avoid driving pages out of the buffer pool by running a query that needs to bring a lot of data into cache.

If you are concerned about your select queries going parallel and consuming excessive CPU, you can limit your query to a single core by adding OPTION (MAXDOP 1) to the end of your query.

If you don't have Read Committed Snapshot enabled on your database, see if you can get that turned on. That will give you snapshot-like behaviour on your selects, so that you will not block writers. However if you are running long ad-hoc queries and there is a lot of write activity, you'll get a lot of data written to tempdb.

You could also investigate using Resource Governor to limit yourself.