Keeping database statistics updated is crucial for the smooth functioning of your queries. The database engine is pretty smart; it automatically refreshes these statistics to stay in sync with changes in your data. This is key for the query optimizer, the brain behind the scenes, to churn out the most efficient plans for your queries. While up-to-date statistics often improve query plan quality, the extra time added to some query executions due to statistics update may be undesirable, particularly in transactional workloads with short queries, where updating statistics may take longer than query execution itself. For this reason, the SQL Server database engine also supports an option to update statistics asynchronously.
Category: Performance
Optimizing SQL Server Performance on Linux: Beyond the Basics
Following our initial exploration of installing SQL Server on Ubuntu 22.04, we delve into the intricacies of advanced configuration on Linux. This post aims to provide DBAs and system administrators with a better understanding of the configurations specific to Linux environments that enhance SQL Server performance. Configuring SQL Server on Linux requires consideration of both SQL Server-specific settings and Linux system configurations. Here we’ll discuss the adjustments and settings unique to the Linux environment.
In-Memory OLTP in SQL Server: Leveraging In-Memory Tables for Performance
In the relentless pursuit of performance, database administrators and developers continually seek strategies to make applications faster and more efficient. SQL Server’s In-Memory Online Transaction Processing (In-Memory OLTP) feature is a significant stride in this quest. This blog post will dive into the world of In-Memory OLTP, exploring what it is, its benefits, how to get started, best practices, and conclude with some final thoughts.
Balancing Workloads in SQL Server with Resource Governor
Today’s database landscape requires strategies for ensuring optimal performance and resource allocation for your workloads. SQL Server’s Resource Governor is a feature that often flies under the radar but can be essential for fine-tuning the performance of your SQL Server environment. This blog post aims to demystify the Resource Governor, explaining its functionality, utility, and walking you through a practical example of setting it up for different user groups.
SQL Server AGs: Tackling Missing and Stale Statistics for Readonly Secondaries
In SQL Server’s Always On Availability Groups, understanding the behavior of statistics on secondary replicas is key to maintaining query performance. This post explores the challenges and solutions for managing statistics in read-only secondary databases and snapshots. We delve into two critical scenarios: the creation of statistics in secondary replicas when they are missing on the primary, and the handling of stale statistics due to differences in primary and secondary workloads.
A Faster Future: SQL Server 2022’s Parallel Buffer Scan
The new parallel buffer scan feature in SQL Server 2022 improves the performance of Buffer Pool scan operations on large-memory machines by utilizing multiple CPU cores. Customers running SQL Server on large-memory machines (e.g. TBs of memory) can see up to 4 ~ 20 times faster executions on some scenarios which has been slow due to Buffer Pool scan. Those scenarios include creating a new database, backup/restore operations, AlwaysOn failover, file drop, and DBCC check operations. Internal operations (e.g. checkpoint) that requires Buffer Pool scan will also get the benefits. The parallel scan feature also improves the Buffer Pool scan performance of small databases residing on large-memory machines.
Optimizing SQL Server 2022: Leveraging Auto-Drop Statistics
Auto-Create statistics is a well-known feature critical for the database performance. When one statistic is auto created, changing the table structure is not blocked by the presence of the statistic. An auto-created statistics is also dropped automatically when a schema change happens. On the other hand, if the statistic is created by the user, any schema change will be blocked by the presence of the statistic. The Auto-Drop setting on a statistic is a new SQL Server 2022 feature to change this behavior.
Smarter, Faster, Better: Intelligent Query Processing in SQL Server 2022
In the evolving landscape of database management, the need for faster, more efficient query processing is paramount. SQL Server 2022 takes a significant leap forward with its Intelligent Query Processing (IQP) feature, a testament to the ongoing quest for performance optimization. This blog post explores the essence of Intelligent Query Processing in SQL Server 2022, why it’s a game-changer, the improvements it brings, and how to maximize its potential.
SQL Server 2022: Improving Database Performance with Enhanced Parallel Redo
In the world of database management, SQL Server has consistently pushed the boundaries of performance and efficiency. The release of SQL Server 2022 marks another milestone, particularly in the realm of parallel redo operations. Let’s delve into how SQL Server 2022 transforms the landscape of thread management and batch redo, overcoming the limitations of its predecessors.
The Art of Resolving HADR_SYNC_COMMIT Waits in SQL Server
Navigating the complexities of SQL Server’s Always On Availability Groups can sometimes feel like solving a complex puzzle. One such challenging aspect involves understanding and resolving wait types related to Hadr_sync_commit. These wait types are like intricate clues that can reveal potential performance bottlenecks or issues in your Always On setup.