SQL Server 2016 is designed to work faster than any earlier version of SQL Server. There was a set of tweaking that was earlier required to be a manual process. At the same time, an experienced DBA was required to do all the tweaking. Experience with trace flags, TempDB best practices were required to keep SQL Server up to speed. That changed with SQL Server 2016. In this release, a lot of those tweaks are preconfigured which is why SQL Server 2016 is faster than ever. Want to know what these tweaks are? Read along:
How SQL Server 2016 Is Faster Than Ever
Unnecessary adjustments like Trace flags 1117 and 1118 have been removed and the behavior is enabled by default for tempdb system database.
That trace flag 118 instructs SQL Server to avoid “Mixed extents” and use “Full extents” See KB 2154845
TRACE FLAG 1117 – Grow All Files In a FILEGROUP Equally
- Metadata latch contention
- High rate of “Create/Drop” workloads
- LATCH_EX waits on underlying system tables
Currently the only solution is to rewrite stored procedures in order to reduce temp table usage.
SQL Server 2016 Improvements:
- Improved scanning algorithms
- Reduced metadata contention
- Optimistic locking of system tables under shared latch
You can now use the new setup installer to pre-configure size and auto growth of TempDB.
Trace Flag Behaviours
- Trace Flag 4199
- Trace Flag 2371
- Trace flag 2453
- Trace flag 8032
TF 3014 = TF 3014 + TF 3004 + TF 3212
Metadata Latch Contention
Better handles lower-level I/O, locking, latching, and access method activity for each partition of a table or index in the database.
Dynamic Thread Safe PMO
One of the enhancements of the SQL Server 2016 core engine is scalability improvement, dynamically partitioning thread safe memory objects by NUMA or CPU, which enables higher scalability.
Support for 12 TB RAM of RAM
Multiple Log Writers
Auto Soft NUMA
This solves the issues with cxpacket wait types due to high parallelism.
- Detects 8+ CPUs
- Targets of 5 to 8 CPUs
- Scheduling Nodes
- Per Instance level setting
- Registry Overrides
DBCC Performance improvements 7x
SQL Server 2016 replaces the following Trace-Flags
The above trace flags make SQL Server to better maximize disk I/O resource usage when a user executes the DBCC CHECKDB command
2000x more performance in SQL Server 2016 in comparison to previous editions.
Easy debugging of schema and statistics for query plan
SQL Server 2016 just works faster without any application changes. Greater performance and scale for existing workloads. It also provides new diagnostic tools to monitor performance.