Earlier this week I experimented, once again, with using temporary hash tables to speed up intermediate processing. Temp tables can be very useful for creating “optimizer fences” that serve to simplify queries to the point where the optimizer will consistently (more or less) come up with a good plan if not a great one. Temp heaps seem well suited to this purpose, when used simply as low-overhead FIFO structures.
Update: I have much more to report about the project, but I have to make choices between writing about it and developing, and right now the development work is taking precedence. Look for a new post soon. I hope. If this work sounds like something you might want to contribute to financially in a small way, please let me know that you are interested.
119 SQL Code Smells.
Logging in Maintenance Plans – SQLServerCentral.
Why Local Variables are Bad for Tuning Stored ProceduresBrent Ozar Unlimited®.
TSQL User-Defined Functions: Ten Questions You Were Too Shy To Ask.
The Performance of Traversing a SQL Hierarchy.
Myths and Misconceptions about Transaction Isolation Levels – SQLServerCentral.
SQL Server XML Questions You Were Too Shy To Ask.
The LookupCTE trick described here is pretty slick. These days I find myself working with large databases where these things really matter and I found this post quite interesting. Improving Query Performance by using correct Search Arguments – SQLServerCentral.