THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Rob Farley

- Owner/Principal with LobsterPot Solutions (a MS Gold Partner consulting firm), Microsoft Certified Master, Microsoft MVP (SQL Server), and leader of the SQL User Group in Adelaide, Australia. Rob is a former director of PASS, and provides consulting and training courses around the world in SQL Server and BI topics.

Spooling in SQL execution plans

Hi! - Great that you've found this page, but it's no longer here! You can find the content over at:

Published Tuesday, June 11, 2013 12:47 PM by Rob Farley



Larry Smith said:

I don't know how much the following applies to SQL Server, but let me try anyway.

Early mainframes either didn't have much in the way of interrupts, or else the operating system didn't adequately support what there was of them. This hampered the performance regarding unit record (printers and punched card readers) peripherals. Printing was essentially a synchronous operation, with the CPU idle during operations to the (slow) printers (with similar comments for card readers).

One solution was to write print data to (relatively high-speed) magnetic tape, then later transfer the tape to a different (small) computer, whose main job was to print the contents of the tape, offline from the main computer. Cumbersome? Sure. But is was the best that could be done at the time.

Later, as hardware and software evolved, a new approach was used. Instead of a program printing directly to a printer (or even a tape), the data would be written to disk, and a separate background program would transcribe it to the printer(s). This process was called Simultaneous Peripheral Operations, On Line. Or SPOOL.

I suppose today we might call it an instance of the Producer-Consumer pattern.

So perhaps SQL Server's use of the term spooling has nothing to do with sewing, but is analogous to the old intermediate-disk-file approach to printing.


June 11, 2013 10:31 AM

Rob Farley said:

Eighteen posts for T-SQL Tuesday #43 this month , discussing Plan Operators. I put them together and

June 13, 2013 7:00 AM

Yuvi said:

Thanks for the nice post. :) Quite helpful

August 2, 2016 3:46 AM

vivekanand said:

very helpful, thankyou

October 5, 2016 1:15 AM
Anonymous comments are disabled

This Blog



No tags have been created or used yet.


News? Haven't you read my blog?

My Company

Can't find something?

Contact Me

Twitter: @rob_farley
Skype: rob_farley

MVP (SQL Server)


Adelaide SQL UG


Privacy Statement