実行プランの読み方をまとめてみる - その8 ( 全部一気に取得してしまって後続のオペレーターを待たしてしまう Eager Spool と要求されたら、データを取得し後続の処理にすぐ渡しちゃう Lazy Spool の二つの Spool オペレーターを説明してみる ) -
新年度になりました。気持ちも新たに頑張ります。旧年度の最後の記事はいまいちな内容の記事で終わってしまいました。
ryuchan.hatenablog.com
前回の『実行プランの読み方をまとめてみる』では、ブロッキングとノンブロッキングオペレータについて説明しました。
ryuchan.hatenablog.com
『実行プランの読み方をまとめてみる』シリーズは、今回で『その8』になります。その1から是非みてください。
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
※特集っぽくやっておきながら、いつもまとまりがない感じになってしまう....
今回は、Spool 系のオペレータである、Eager と Lazy について説明します。下記のクエリを SQL Server Management Studio で実行させましょう。Eager と Lazy Spool オペレーターを無理矢理発生させることが目的のクエリですので、クエリ自体の意味はあまり深く考えないでくださいwww
SELECT soh1.SubTotal FROM Sales.SalesOrderHeader soh1 WHERE soh1.SubTotal > ( SELECT AVG(soh2.SubTotal) FROM Sales.SalesOrderHeader soh2 WHERE soh1.DueDate > soh2.DueDate )
Eager Spool と Lazy Spool は上図のような感じです、ではまったく理解できないと思うので、説明しますww
- Eager Spool オペレーター
Eager Spool は別のオペレータ (今回実行したクエリの実行プランでは、『Cluster Index Scan』) から受け取ったデータをすべて TempDB に格納します。一気にすべてのデータを TempDB に書きこむ"熱心"にお仕事してしまうオペレータなので、後続のオペレータ(今回実行したクエリの実行プランでは、『Stream Aggregate』)はその処理に待たされてしまいます。Eager Spool はいわゆるブロッキングオペレーターです。下図で Eager Spool の動きが確認できます。
- Lazy Spool オペレーター
Lazy Spool はそれぞれのデータが必要になったときに読み込み、TempDB に書きこみます。書きこんだら後続のオペレーターに即座にデータを提供します。Lazy Spool は ノンブロッキングオペレーターです。下図は Lazy Spool の動きが確認できます。
※この動画は Office Mix でキャプチャーしました。Office Mix に知りたい方は下記の記事を参考にしてください。かっこいいプレゼン資料を作成するにはもってこいのツールです。
ryuchan.hatenablog.com
Eager Spool は TempDB を頻用するため、IO の観点からみて OLTP 系のシステムにおいて可能ならば排除すべきオペレーターなのかもしれません。TempDB の領域が フラッシュストレージであれば、大問題にならなそうですが....
さて、次は何を書こうかな。
お、プライム会員だし見てみよ。本日(4月1日)配信です。
Amazon プライム・ビデオによると、
- 2016/4/1(金)から、プライム・ビデオで『仮面ライダーアマゾンズ』が配信スタート
- 仮面ライダー生誕45周年をを記念し、『仮面ライダーアマゾン』が完全新生
- Amazonプライム・ビデオにおける日本初のオリジナル作品
※これ、Amazon だから仮面ライダーアマゾンなの?(笑)
仮面ライダー 昭和 vol.5 仮面ライダーアマゾン (平成ライダーシリーズMOOK)
- 作者: 講談社
- 出版社/メーカー: 講談社
- 発売日: 2016/03/25
- メディア: ムック
- この商品を含むブログを見る
そういえば、仮面ライダー1号って、
- 出版社/メーカー: ぴあ
- 発売日: 2016/03/17
- メディア: ムック
- この商品を含むブログ (1件) を見る
映画になりましたね。自分が見に行きたかったので、子供に『一緒に見に行こう♪』って言ったら、『興味ない。』と一蹴されました....
www.superhero-movie.com
一人で見に行くには、少し勇気がいる...何事にも勇気がいる...
彼女はなぜ成功したのか―転職、再就職、起業 少しの勇気と努力で未来は拓ける!
- 作者: 古庄弘枝
- 出版社/メーカー: はまの出版
- 発売日: 2000/08
- メディア: 単行本
- この商品を含むブログを見る