Skip to content

Erik Darling Data

SQL Server Consulting, Education, and Training

Erik Darling Data
  • Blog
  • Learn
    • Pre-Recorded Classes
    • In-Person Events
  • Scripts
    • sp_HumanEvents
    • sp_PressureDetector
    • sp_QuickieStore
  • Contact
  • Request a Call

Category: Spools

Eager Index Spools Are Judgmental Query Plan Operators In SQL Server

Posted on October 28, 2020May 16, 2022 by Erik Darling

You’re Short


I ran across something similar in a previous post: Index Spools When You Have An Index.

But here we are again, with the optimizer treating us like fools for our index choices.

Let’s say we have this …

Posted in Execution Plans, Indexing, Spools

Signs Your SQL Server Execution Plan Is Lying To You: Table Spools

Posted on February 5, 2020May 16, 2022 by Erik Darling

Ashing On The Table


Going Further


If this is the kind of SQL Server stuff you love learning about, you’ll love my training. I’m offering a 75% discount on to my blog readers if you click from here. I’m …

Posted in Plan Cache, Plan Cache Liars, Spools

Signs Your SQL Server Execution Plan Is Lying To You: Index Spools

Posted on February 4, 2020May 16, 2022 by Erik Darling

Spool Spool Spoolio


Going Further


If this is the kind of SQL Server stuff you love learning about, you’ll love my training. I’m offering a 75% discount on to my blog readers if you click from here. I’m also …

Posted in Plan Cache, Plan Cache Liars, Spools

SQL Server Index Spools When You Have An Index

Posted on December 3, 2019May 14, 2022 by Erik Darling

PAUL WHITE IS WRONG


Ha ha. Just kidding. He’s never wrong about anything.

But he did write about Eager Index Spools recently, and the post ended with the following statement:

Eager index spools are often a sign that a

…
Posted in Execution Plans, Indexing, Query Tuning, Spools, SQL Server1 Comment on SQL Server Index Spools When You Have An Index

Too Much Of A Harmless SQL Server Wait Type Can Be Harmful

Posted on July 5, 2019May 14, 2022 by Erik Darling

Absence Of Evidence


There’s a pinky-out saying about wine: don’t hate the grape.

People say it because the same kind of grape can be grown by different people in different places.

Due to many, ahem, local factors, wine made with …

Posted in Parallelism, Spools, SQL Server, Wait Stats

Eager Index Spool Suggestions For SQL Server

Posted on June 21, 2019May 14, 2022 by Erik Darling

Funtime


I’ve added a couple ideas to User Voice.

The ideas are pretty simple:

Eager Index Spools Should Generate Missing Index Requests


In query plans where an Eager Index Spool is directly after a data access operator, a missing index

…
Posted in Execution Plans, Indexing, Spools, SQL Server

The Coming Froidpocalypse In SQL Server 2019

Posted on June 20, 2019May 14, 2022 by Erik Darling

Legal Notice


I’ve trademarked: Froidrage, Froidulent, and Froidpocalypse.

If you want to use them, you have to pay me $10,000.

Alright, I’m being told by my lawyer that writing them on cocktail napkins and showing them to confused bartenders doesn’t …

Posted in Execution Plans, FROID, Query Tuning, Spools, SQL Server, SQL Server 2019

Hey SQL Server Query, What Were You Waiting On?

Posted on June 19, 2019May 14, 2022 by Erik Darling

Surreal Plans


In a parallel plan with an eager index spool, we can observe EXECSYNC waits for the duration of the spool being built.

In a serial plan, we’re not so lucky. There’s no obvious wait that indicates we built …

Posted in Query Tuning, Spools, SQL Server, Wait Stats

How Select List Column Sizes Change How Big Spool Operators Are In SQL Server Query Plans

Posted on June 18, 2019May 14, 2022 by Erik Darling

I’ll Use Those Columns Later, Maybe


This is a short post, since we’re on the subject of index spools this week, to show you that the columns that go into the spool will impact spool size and build time.

I …

Posted in Execution Plans, Indexing, Query Tuning, Spools, SQL Server

Eager Index Spool Annoyances In SQL Server

Posted on June 17, 2019May 14, 2022 by Erik Darling

Don’t Mask Spools


Certain spools in SQL Server can be counterproductive, though well intentioned.

In this case, I don’t mean that “if the spool weren’t there, the query would be faster”.

I mean that… Well, let’s just go look.

Bad

…
Posted in Execution Plans, Spools, SQL Server, Wait Stats

Posts navigation

Older posts

Recent Posts

  • SQL Server 2022 Parameter Sensitive Plan Optimization: How PSP Works To Solve Some Parameter Sensitivity Issues
  • SQL Server 2022 Parameter Sensitive Plan Optimization: The Problem With Sniffed Parameter Sensitivity
  • How To Get Answers To SQL Server Performance Questions

Subscribe

Categories

  • Accelerated Database Recovery
  • Angry Aggregates
  • Batch Mode
  • Bugs
  • Cardinality
  • Change Data Capture
  • Change Tracking
  • CHECKDB
  • Cider
  • columnstore
  • Common Query Plan Patterns
  • Common Table Expression
  • Computed Columns
  • Consulting
  • Cost Threshold For Parallelism
  • Cursors
  • Deadlock
  • Dynamic SQL
  • Error Handling
  • Execution Plans
  • Extended Events
  • Filtered Indexes
  • Filtered Statistics
  • Forced Parameterization
  • FROID
  • Functions
  • GENERATE_SERIES
  • Hardware
  • IF Branching
  • Implicit Transactions
  • Indexed Views
  • Indexing
  • Interviewing
  • Isolation Levels
  • Joe Obbish
  • Local Variables
  • Locking
  • Managed Instance
  • MAXDOP
  • Memory Grants
  • Normalization
  • Office Hours
  • OPTIMIZE_FOR_SEQUENTIAL_KEY
  • OtherDB
  • Parallelism
  • Parameter Sniffing
  • Parameterization
  • Partitioning
  • PASS Data Summit
  • perfview
  • Plan Cache
  • Plan Cache Liars
  • Plan Guides
  • Postgres
  • PSP
  • Query Store
  • Query Tuning
  • Row Goal
  • SARGability
  • Server Tuning
  • Software Vendor Mistakes
  • sp_HumanEvents
  • sp_PressureDetector
  • sp_QuickieStore
  • sp_WhoIsActive
  • Spills
  • Spinlocks
  • Spools
  • SQL Saturday
  • SQL Server
  • SQL Server 2019
  • SQL Server 2022
  • SQLBits
  • SSMS
  • Stack Column Store
  • Starting SQL
  • Statistics
  • Streaming
  • T-SQL
  • Table Variables
  • Tasting Menu
  • tempdb
  • Temporary Tables
  • TOP
  • Trace Flag
  • Training
  • Triggers
  • Variables
  • vNext
  • Wait Stats
Copyright © 2019-2023 Erik Darling Data