2017-02-21 6 views
0

SQLサーバのメモリ最適化テーブルは、そのデータの一部をメモリに格納し、残りをディスクに格納できますか?メモリ最適化テーブル - データをメモリに部分的にロードする

最後の3か月分のデータをメモリにロードする必要があります。そのうち は、 が照会されないためメモリに格納する必要はありません。

メモリ最適化テーブルでこれを行う方法はありますか?そうでない場合は、これを行う別の方法がありますか?

+2

テーブルのパーティション化を検討しましたが、頻繁にアクセスされるパーティションは、メモリ最適化テーブルを必要とせずにデータキャッシュに常駐します。 –

+0

@SteveFord頻繁にアクセスされるパーティションは、メモリの負荷のために追い出されない限り、キャッシュに残ります。 DBCC PINTABLEが削除されて以来、ホットバッファに残っていることの保証はもはやありません。保証を提供する唯一のオプションは、メモリ最適化テーブルです。ホット・データがメモリー最適化された表にあり、いわゆる「コールド」データがディスク上にある戦略を取ることは、この時点ではよく受け入れられているパターンです。 UNION ALLビューは、パーティション化されたビューを元の状態に戻したときと同様に、データを結合します。アプリケーションロジックもこれを行うことができます。 –

答えて

1

データベースは、メモリ内のディスクと少数のいくつかのテーブルを持つことができますが、ディスクのテーブルデータの一部と、メモリ内のいくつかのデータを持ってすることはできません

私が最後にロードする必要があります3か月間のデータをメモリに格納し、それ以外のデータは照会されないためメモリに格納する必要はありません。

なぜ3か月のデータしか保持せず、メモリ内使用の場合。

2

ビューを使用して、インメモリー表を標準表(パーティション表示)と結合します。メンテナンスプロセスを実行して、必要に応じてメモリ内テーブルから標準テーブルにデータを移動します。

標準のテーブルにチェック制約を追加すると、そのデータに触れないようにすることができます。

+0

この回答は道のりです。 https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/application-pattern-for-partitioning-memory-optimized-tables –

関連する問題