先行読み取り
将来必要になると予想されるデータもデータファイルからメモリへ読み込み、I/Oのオーバーヘッドを緩和している SQL Serverのバージョンによって差があるらしい
どのくらいのページを読み込むかはエディションによって異なる
どこでどうやって予想してるんだろう?
code:先行読み取り
+ユーザー---------------+ クエリ +SQL Server-+ +データファイル-----------------+
| SELECT c FROM table1 | 実行 | | クエリ | +table1.year---------------+ |
+----------------------+ | キャッシュ | 多めに | +--------------------------+ |
+-----------+ 読み込み +------------------------------+
code:mmd
flowchart
subgraph ユーザー
end
subgraph データファイル
subgraph table1.year
2009 ~~~ 2013
2010 ~~~ 2014
2011 ~~~ 2015
2012 ~~~ 2016
end
end
バッファキャッシュ
end
sql -- クエリ実行 --> sqlserver
sqlserver -- クエリ --> データファイル
table1.year -- 範囲外のデータも取り込む --> バッファキャッシュ