SQL Server Performance Tuning

[Full Guide] What is SQL Server Heap Table and How to Find Them

Updated
2 min read
Written by
Mark Varnas

What is a heap table?

A table without a clustered index is called heap.

It consists only of data pages.

Note: You can have one or more non-clustered indexes though.

Why should you care about heaps?

When query is run on a heap table, SQL Server will do a table scan to find any row, which makes query performance terrible.

Why? Because the physical placement of the pages are not guaranteed to be in any particular order. What does that mean? Its a time consuming spaghetti. And not neatly organized data structure.

By the way, All (most, not all) tables should have a clustered index.

Rare exceptions exist. One of them is a table that only has a lot of INSERTs. Log table could be a good example.

I have seen tables that process Terabytes of inserts each hour. That table you want to be a Heap.

How can you find all tables missing a clustered index?

A heap is always identified by index_id = 0 in the catalog tables.

You can use the following query to list heap tables from a single database:

SELECT SCH.name + '.' + TBL.name AS TableName
FROM sys.tables AS TBL
INNER JOIN sys.schemas AS SCH ON TBL.schema_id = SCH.schema_id
INNER JOIN sys.indexes AS IDX ON TBL.object_id = IDX.object_id
	AND IDX.type = 0
ORDER BY TableName

How can you fix the SQL Server heap table?

  1. For active tables, create the right clustering index
    (Sometimes, there is a primary key, and someone just forgot to set it as the clustered index).
  2. Start with tables that are used the most.

More information

Speak with a SQL Expert

In just 30 minutes, we will show you how we can eliminate your SQL Server headaches and provide 
operational peace of mind

Article by
Mark Varnas
Founder | CEO | SQL Veteran
Hey, I'm Mark, one of the guys behind Red9. I make a living performance tuning SQL Servers and making them more stable.

Discover More

SQL Server Health Check SQL Server Migrations & Upgrades SQL Server Performance Tuning SQL Server Security SQL Server Tips

Discover what clients are saying about Red9

Red9 has incredible expertise both in SQL migration and performance tuning.

The biggest benefit has been performance gains and tuning associated with migrating to AWS and a newer version of SQL Server with Always On clustering. Red9 was integral to this process. The deep knowledge of MSSQL and combined experience of Red9 have been a huge asset during a difficult migration. Red9 found inefficient indexes and performance bottlenecks that improved latency by over 400%.

Rich Staats 5 stars
Rich Staats
Cloud Engineer
MetalToad

Always willing to go an extra mile

Working with Red9 DBAs has been a pleasure. They are great team players and have an expert knowledge of SQL Server database administration. And are always willing to go the extra mile to get the project done.
5 stars
Evelyn A.
Sr. Database Administrator

Boosts server health and efficiency for enhanced customer satisfaction

Since adding Red9 to the reporting and DataWarehousing team, Red9 has done a good job coming up to speed on our environments and helping ensure we continue to meet our customer's needs. Red9 has taken ownership of our servers ensuring they remain healthy by monitoring and tuning inefficient queries.
5 stars
Andrew F.
Datawarehousing Manager
See more testimonials

Check Red9's SQL Server Services

SQL Server Consulting

Perfect for one-time projects like SQL migrations or upgrades, and short-term fixes such as performance issues or SQL remediation.

Discover More ➜

SQL Server Managed Services

Continuous SQL support, proactive monitoring, and expert DBA help with one predictable monthly fee.

Discover More ➜

Emergency SQL Support

Take the stress out of emergencies with immediate access to a SQL Server Sr. DBA 24x7x365

Discover More ➜
Explore All Services