Muutke küpsiste eelistusi

High Performance SQL Server: Consistent Response for Mission-Critical Applications 2nd ed. [Pehme köide]

  • Formaat: Paperback / softback, 397 pages, kõrgus x laius: 254x178 mm, kaal: 795 g, 81 Illustrations, black and white, 1 Paperback / softback
  • Ilmumisaeg: 22-Jan-2021
  • Kirjastus: APress
  • ISBN-10: 1484264908
  • ISBN-13: 9781484264904
  • Pehme köide
  • Hind: 47,20 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 62,94 €
  • Säästad 25%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 3-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 397 pages, kõrgus x laius: 254x178 mm, kaal: 795 g, 81 Illustrations, black and white, 1 Paperback / softback
  • Ilmumisaeg: 22-Jan-2021
  • Kirjastus: APress
  • ISBN-10: 1484264908
  • ISBN-13: 9781484264904
Design and configure SQL Server instances and databases in support of high-throughput, mission-critical applications providing consistent response times in the face of variations in numbers of users and query volumes. In this new edition, with over 100 pages of additional content, every original chapter has been updated for SQL Server 2019, and the book also includes two new chapters covering SQL Server on Linux and Intelligent Query Processing. 

This book shows you how to configure SQL Server and design your databases to support a given instance and workload. You will learn advanced configuration options, in-memory technologies, storage and disk configuration, and more, all aimed toward enabling your desired application performance and throughput.

Configuration doesn’t stop with implementation. Workloads change over time, and other impediments can arise to thwart desired performance. High Performance SQL Server covers monitoring and troubleshooting to aid you in detecting and fixing production performance problems and minimizing application outages. You will learn about a variety of tools, ranging from the traditional wait analysis methodology to the query store or indexing, and you will learn how improving performance is an iterative process.

This book is an excellent complement to query performance tuning books and provides the other half of what you need to know by focusing on configuring the instances on which mission-critical queries are executed.



What You Will Learn
  • Understand SQL Server's database engine and how it processes queries
  • Configure instances in support of high-throughput applications
  • Provide consistent response times to varying user numbers and query volumes
  • Design databases for high-throughput applications with focus on performance
  • Record performance baselines and monitor SQL Server instances against them
  • Troubleshot and fix performance problems


Who This Book Is For

SQL Server database administrators, developers, and data architects. The book is also of use to system administrators who are managing and are responsible for the physical servers on which SQL Server instances are run.



intermediate-Advanced user level
About the Author xiii
About the Technical Reviewer xv
Acknowledgments xvii
Introduction xix
Part I SQL Server Internals
1(78)
Chapter 1 How SQL Server Works
3(64)
TDS/Network Protocols
4(2)
How Work Is Performed
6(1)
SQLOS
6(1)
Schedulers
7(2)
Workers
9(4)
SQL Server on Linux
13(1)
Query Optimization
14(4)
Parsing and Binding
18(4)
Simplification
22(3)
Trivial Plan Optimization
25(1)
Transformation Rules
26(11)
The Memo
37(2)
Full Optimization
39(7)
Cost Estimation
46(3)
Statistics
49(3)
Plan Caching
52(2)
Query Execution
54(1)
Operators
54(2)
Data Access Operators
56(1)
Aggregations
57(1)
Joins
58(1)
Parallelism
59(1)
Updates
60(1)
Memory Grants
60(2)
Locks and Latches
62(2)
Summary
64(3)
Chapter 2 SQL Server on Linux
67(12)
Microsoft Announcements
67(2)
A Bit of History
69(1)
SQLOS
70(1)
Project Helsinki
71(2)
Drawbridge
73(3)
SQLPAL
76(2)
Summary
78(1)
Part II Design and Configuration
79(72)
Chapter 3 SQL Server Configuration
81(40)
Statistics Update
82(3)
Standard Automatic Statistics Update
85(1)
Trace Flag 2371
85(1)
Tempdb Configuration
86(1)
Query Optimizer Hotfix Servicing Model
86(2)
Max degree of parallelism
88(4)
Cost threshold for parallelism
92(1)
Instant File Initialization
93(2)
Cardinality Estimator
95(1)
Optimize for ad hoc workloads
96(1)
SQL Server Enterprise Edition
97(1)
Memory Configuration
98(2)
Lock Pages in Memory
100(1)
Backup compression default
101(1)
Query governor cost limit
101(1)
Blocked process threshold
102(1)
Advanced Trace Flags
103(1)
Configuring SQL Server on Linux
104(5)
Using Environment Variables
109(2)
Performance Best Practices
111(1)
Memory and the Out-of-Memory Killer
111(1)
Kernel Settings
112(6)
Additional Configurations
118(1)
Summary
119(2)
Chapter 4 Tempdb Troubleshooting and Configuration
121(30)
DML Contention
122(4)
Describing tempdb Latch Contention
126(2)
Fixing tempdb Latch Contention
128(1)
Using Multiple Data Files
128(1)
Trace Flags 1117 and 1118
129(1)
SQL Server 2016 Enhancements
130(3)
What Is New in SQL Server 2019
133(1)
Memory-Optimized tempdb Metadata
133(5)
Tempdb Events
138(6)
DDL Contention
144(1)
Tempdb Spill Warnings
144(1)
Sort Warning
145(1)
Hash Warning
146(1)
Exchange Warning
147(1)
Monitoring Disk Space
147(2)
Summary
149(2)
Part III Monitoring
151(80)
Chapter 5 Analyzing Wait Statistics
153(36)
Introduction
154(7)
Wait Information
161(1)
Sys.dm_os_wait_stats
161(5)
Sys.dm_exec_session_wait_stats
166(1)
Extended Events
166(4)
System_health Extended Event Session
170(3)
Example: Analyzing CXPACKET Waits
173(4)
Latches and Spinlocks
177(2)
Common Waits
179(1)
CXPACKET
180(1)
CXCONSUMER
180(1)
PAGELATCHJ* and PAGEIOLATCH_*
180(1)
ASYNC_NETWORK_IO
180(1)
SOS_SCHEDULER_YIELD
181(1)
THREADPOOL
181(1)
PREEMPTIVE
181(1)
OLEDB
182(1)
IO_COMPLETION
182(1)
WRITELOG
182(1)
Timer Wait Types
182(2)
What Is New on SQL Server 2019
184(1)
Blocking
185(1)
In-Memory OLTP
186(1)
Summary
187(2)
Chapter 6 The Query Store
189(42)
Why Is a Query Slow?
189(1)
Plan Changes
190(1)
How the Query Store Can Help
191(1)
Plan Regressions
192(1)
SQL Server Upgrades
192(1)
Application/Hardware Changes
193(1)
Identify Expensive Queries
193(1)
Identify Ad Hoc Workloads
193(1)
Architecture
194(3)
Enabling, Purging, and Disabling the Query Store
197(7)
Using the Query Store
204(7)
Performance Troubleshooting
211(3)
Incomplete Queries
214(4)
Force Failure
218(3)
Wait Statistics
221(3)
Catalog Views
224(2)
Live Query Statistics
226(3)
Summary
229(2)
Part IV Performance Tuning and Troubleshooting
231(158)
Chapter 7 SQL Server In-Memory Technologies
233(42)
In-Memory OLTP
234(3)
Enhancements After the Initial Release
237(1)
Memory-Optimized Tables
238(4)
Indexes
242(3)
Natively Compiled Modules
245(2)
Changing Tables and Natively Compiled Modules
247(3)
Native Compilation
250(2)
Memory-Optimized Table Variables
252(1)
Current Limitations
253(1)
Columnstore Indexes
254(3)
Examples
257(6)
Operational Analytics
263(4)
Using Disk-Based Tables
267(3)
Using Memory-Optimized Tables
270(4)
Summary
274(1)
Chapter 8 Performance Troubleshooting
275(36)
Performance Counters
276(2)
Comparing Batches and Transactions
278(4)
Log Growths
282(2)
Data File(s) Size (KB)
284(1)
Page Reads/Sec
284(1)
Page Writes/Sec
285(1)
Page Life Expectancy
285(1)
Buffer Cache Hit Ratio
286(1)
% Processor Time
286(2)
Processor Queue Length
288(1)
Latches
288(1)
Locks
288(1)
LogicalDisk and PhysicalDisk
289(1)
SQL Compilations/Sec and Recompilations/Sec
289(1)
Memory Grants
290(1)
Processes Blocked
290(1)
Log Flush Counters
290(1)
Checkpoint Pages/Sec
291(1)
Memory Manager
291(1)
Sys.dm_os_performance_counters
292(1)
Dynamic Management Views and Functions
293(1)
Sys.dm_io_virtual_file_stats
293(3)
Sys.dm_os_volume_stats
296(1)
Sys.dm_db_index_usage_st.ats
296(2)
Sys.dm_exec_query_stats
298(1)
Sys.dm_db_index_physical_stats
299(2)
Sys.dm_exec_query_optimizer_info
301(1)
Sys.dm_os_sys_info
302(1)
Sys.dm_os_windows_info
303(1)
Sys.dm_os_host_info
304(1)
SQL Trace/Extended Events
304(2)
SQL Server Data Collector
306(2)
Operator-Level Performance Statistics
308(1)
Trace Flags on Plans
309(1)
Summary
310(1)
Chapter 9 Indexing
311(38)
How SQL Server Uses Indexes
312(3)
Where to Use Indexes
315(2)
Index Usage Validation
317(2)
Index Maintenance
319(1)
Heaps
320(1)
Clustered Indexes
321(1)
Nonclustered Indexes
322(1)
Filtered Indexes
323(1)
Working with Indexes
324(11)
The Missing Indexes Feature
335(3)
The Database Engine Tuning Advisor
338(9)
Summary
347(2)
Chapter 10 Intelligent Query Processing
349(16)
Batch Mode Adaptive Joins
350(3)
Memory Grant Feedback
353(2)
Interleaved Execution
355(4)
Batch Mode on Rowstore
359(1)
Table Variable Deferred Compilation
360(1)
Scalar UDF Inlining
361(1)
Approximate Count Distinct
362(1)
Summary
363(2)
Chapter 11 SQL Server Storage
365(24)
Storage Types
367(1)
Flash-Based Storage
368(1)
Database Configuration
369(1)
Database Files
370(1)
Fragmentation
371(1)
Virtual Log Files
372(1)
Compression
373(1)
Metrics and Performance
373(2)
Resource Monitor
375(1)
Diskspd
376(3)
SQLIOSim
379(2)
DMVs/DMFs
381(1)
Volume Configuration
381(1)
RAID Levels
382(1)
RAID 0
382(1)
RAID 1
383(1)
RAID 5
384(1)
RAID 6
385(1)
RAID 10
385(1)
Query Processing
386(1)
Summary
387(2)
Index 389
Benjamin Nevarez is a database professional based in Los Angeles, California who specializes in SQL Server query tuning and optimization. He is the author of four books: SQL Server 2017 on Linux, High Performance SQL Server, SQL Server 2014 Query Tuning & Optimization, and Inside the SQL Server Query Optimizer, and he has co-authored other books, including SQL Server 2012 Internals. Benjamin has been a speaker at many SQL Server conferences and events around the world, including the PASS Summit, SQL Server Connections and SQLBits. His blog can be found at benjaminnevarez.com and he can be reached on twitter at @BenjaminNevarez and on Facebook.