To use simulated statistics, issue set statistics simulate on before running the query.
To accurately simulate queries:
Use the same locking scheme and partitioning for tables
Re-create any triggers that exist on the tables and use the same referential integrity constraints
Set any nondefault cache strategies and any nondefault concurrency optimization values
Bind databases and objects to the caches used in the environment you are simulating
Include any set options that affect query optimization (such as set parallel_degree) in the batch you are testing
Create any view used in the query
Use cursors, if they are used for the query
Use a stored procedure, if you are simulating a procedure execution
You can load simulated statistics into the original database, or into a database created solely for performing “what-if” analyses on queries.