Book Image

SQL Server 2017 Developer???s Guide

Book Image

SQL Server 2017 Developer???s Guide

Overview of this book

Microsoft SQL Server 2017 is a milestone in Microsoft's data platform timeline, as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. This book prepares you for advanced topics by starting with a quick introduction to SQL Server 2017's new features. Then, it introduces you to enhancements in the Transact-SQL language and new database engine capabilities before switching to a different technology: JSON support. You will take a look at the security enhancements and temporal tables. Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Toward the end of the book, you'll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You'll also learn to integrate Python code into SQL Server and graph database implementations as well as the deployment options on Linux and SQL Server in containers for development and testing. By the end of this book, you will be armed to design efficient, high-performance database applications without any hassle.
Table of Contents (25 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Free Chapter
1
Introduction to SQL Server 2017
Index

Query Store use cases


Query Store is a very useful feature and can help you identify and solve some performance problems, and also learn about your workload and to be more familiar with it.

The main use cases are related to issues caused by changed execution plans. Complex queries can have many potential execution plans and some of them can be performant, while others lead to serious performance problems. The Query Optimizer does a great job when it generates execution plans but sometimes it comes up with a suboptimal plan. It is possible that two totally different execution plans have similar costs. When a complex query has a good plan, it can happen that the next plan for the same query performs badly. And the next plan will be generated when the old plan is not in the cache anymore. This happens when SQL Server is upgrading to a new version, when a cumulative update or a Service Pack is installed, when patching is performed, when a failover happens, and also when a new application or service...