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

Performance considerations


One of the main concerns about JSON in SQL Server 2016 is performance. As mentioned, unlike XML, JSON is not fully supported; there is no JSON data type. Data in XML columns is stored as binary large objects (BLOBs). SQL Server supports two types of XML indexes that avoid parsing all the data at runtime to evaluate a query and allow efficient query processing. Without an index, these BLOBs are shredded at runtime to evaluate a query. As mentioned several times, there is no JSON data type; JSON is stored as simple Unicode text and the text has to be interpreted at runtime to evaluate a JSON query. This can lead to slow reading and writing performance for large JSON documents. The primary XML index indexes all tags, values, and paths within the XML instances in an XML column. The primary XML index is a shredded and persisted representation of the XML BLOBs in the XML data type column. For each XML BLOB in the column, the index creates several rows of data. The number...