Chapter 9. tempdb Usage and Performance
tempdb
is a system database that is shared across all user and system sessions. It stores user-created and internal temporary objects and data, and is used by many processes. High tempdb
performance and throughput are essential for good server performance.
I will start this chapter with an overview of tempdb
consumers and usage patterns and share several best practices related to the use of temporary objects. Next, I will show how to diagnose and address common tempdb
issues. Finally, I’ll provide you with several tempdb
configuration tips.
Temporary Objects: Usage and Best Practices
tempdb
performance tuning is a complex topic. I usually like to start with an overview of usage patterns. After all, tempdb
is just another database, and reducing its load usually improves its throughput. There are some internal optimizations in tempdb
behavior, which I will discuss in this chapter. But for all practical purposes, you can consider tempdb
to be similar to other user databases.
The tempdb
database stores temporary objects created by users, internal record sets generated during query executions, the version store, and a few other objects. You can look at how much space different object types are using by running the code in Listing 9-1.
Listing 9-1. tempdb
space usage
SELECT CONVERT(DECIMAL(12,3), SUM(user_object_reserved_page_count) / 128. ) AS [User Objects (MB)] ,CONVERT(DECIMAL(12,3), SUM(internal_object_reserved_page_count) / 128. ) AS ...
Get SQL Server Advanced Troubleshooting and Performance Tuning now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.