{"id":177,"date":"2017-09-14T00:00:00","date_gmt":"2013-01-01T00:00:00","guid":{"rendered":"https:\/\/www.sqlhammer.com\/sql-query-performance-tuning-tips-non-production-environments"},"modified":"2026-03-18T21:53:01","modified_gmt":"2026-03-18T21:53:01","slug":"sql-query-performance-tuning-tips-non-production-environments","status":"publish","type":"post","link":"https:\/\/sqlhammer.com\/index.php\/2017\/09\/14\/sql-query-performance-tuning-tips-non-production-environments\/","title":{"rendered":"SQL query performance tuning tips for non-production environments &#8211; SQL Hammer"},"content":{"rendered":"<p>It is a common misconception that you need real production data, or production like data, to effectively tune queries in SQL Server. I am going to explain how you can compile the same execution plans as what your production environment would compile, so that you can tune them in a non-production environment, gaining these benefits.<\/p>\n<ul>\n<li>Keep sensitive data in production, such as personally identifiable information (PII).<\/li>\n<\/ul>\n<ul>\n<li>Save space by not duplicating any of the production data in lower environments.<\/li>\n<\/ul>\n<ul>\n<li>Save server resources by keeping development machines small.<\/li>\n<\/ul>\n<ul>\n<li>Speed up development machine provisioning by restoring smaller databases.<\/li>\n<\/ul>\n<p><em>Methods for tuning the execution plans is out of scope for this post. This post covers the configuration of your non-production server and cloning of your production databases.<\/em><\/p>\n<p><a href=\"https:\/\/www.sqlshack.com\/sql-query-performance-tuning-tips-non-production-environments\/\"><strong><em>Read the full article on SQLShack.com.<\/strong><\/em><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is a common misconception that you need real production data, or production like data, to effectively tune queries in SQL Server. I am going to explain how you can compile the same execution plans as what your production environment would compile, so that you can tune them in a non-production environment, gaining these benefits. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/comments?post=177"}],"version-history":[{"count":1,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":439,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/posts\/177\/revisions\/439"}],"wp:attachment":[{"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/media?parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/categories?post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlhammer.com\/index.php\/wp-json\/wp\/v2\/tags?post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}