Welcome to “SQL Server Performance Tuning” book!! SQL Server is a great platform to host your database application. In the beginning, your application runs great in development, test and production environments. When the database size increases and the number of users increases you may start to notice some performance degradation or worse yet, user complaints which are usually the first signs of performance issue. For mission-critical environments, a couple of milliseconds delay in getting information might create big problems. This is where performance monitoring and tuning come into play. Database performance tuning is an art form as much as it is a science. The main cause of performance issues in SQL server includes – missing indexes, fragmentation, badly written queries, memory issues, etc. SQL Server stores all the database activity in system tables and DMV’s, and we can retrieve this information, analyze it based on application requirement and then take corrective actions. We can use SQL Profiler, and other third-party tools like Solar-winds, etc.to get details on system activity. After analyzing details like explain plan, we can use techniques like hints, parameter sniffing, partitioning, etc. to tune badly performing queries. Thoroughly studying indexes, checking statistics, and fragmentation turns very helpful in many cases. Every database must have some kind of index /statistics maintenance plan which will keep them up to date. A better understanding of what the Query Optimizer does behind the scenes can help you to improve the performance of your databases and applications, and this book explains the core concepts behind how the SQL Server Query Optimizer works. With this knowledge, you'll be able to write better queries, provide the Query Optimizer with the information it needs to produce efficient execution plans, and troubleshoot the cases when the Query Optimizer is not giving you a good plan. This book provides database administrators and developers with the knowledge and skills to effectively use tools and techniques and will cover areas such • SQL Server Architecture & SQL Engine • Index management in SQL Server • Identifying costly queries • Understanding how wait statistics can be used to find potential impending bottlenecks • Examining disk, memory and CPU bottlenecks • Partitioning in SQL Server • Query tuning techniques • Various useful queries used in performance optimization.