私のデータベースのサイズは約1GBです(私のデータベースのmdfファイルによると)。データベースサーバーには4 GBのRAMがあります。アクティブ時のコンピューターのメモリ消費量を見ると、使用率は約85%(OSなどを含む)です。
これは、すべてのDB読み取りアクティビティがメモリのみで機能することを意味しますか(つまり、db全体がメモリに座っています)それともディスクに移動する必要がある場合はまだありますか?
私のデータベースのサイズは約1GBです(私のデータベースのmdfファイルによると)。データベースサーバーには4 GBのRAMがあります。アクティブ時のコンピューターのメモリ消費量を見ると、使用率は約85%(OSなどを含む)です。
これは、すべてのDB読み取りアクティビティがメモリのみで機能することを意味しますか(つまり、db全体がメモリに座っています)それともディスクに移動する必要がある場合はまだありますか?
回答:
はい、データベース全体がメモリに格納されている可能性があります。チェックポイント間隔でダーティページをディスクにフラッシュします。ただし、すべての更新はログに書き込み、コミットする前に永続ストレージでログレコードが強化されるのを待つ必要があることに注意してください。この古いペーパーSQL Server 2000 I / O Basicsには、これまでに必要となるすべての詳細が含まれています。
しかし、推測する必要はありません。これを正確に測定して、それが発生するかどうかを確認できます。関連するパフォーマンスカウンターは次のとおりです。
My database is about 1gb in size (according to the mdf file of my db). My database server has 4gb of ram.
。60のWebサイトがあり、その場合にバッファープールキャッシングがどのように機能するかについての回答が必要な場合は、次の質問をしてください:)
you don't have to guess, you can measure this exactly
。
DB全体(データ)はメモリ(SQLサーバー)に保存されません。インデックスやキーを調べた後、探しているデータがデータファイル内のどこにあるかを示すポインターを取得し、ディスクに移動してデータを取得します。キーやインデックスがない場合は、ヒープ全体をスキャンする必要があります。
実行しているSQL Serverのバージョンによっては、ディスクの読み取りを最小限に抑えるために、よく使用されるデータをキャッシュする戦略がある場合があります。
MySqlクラスターデータベースなどのインメモリDBを取得できます。これは、サーバーのクラスター全体でENTIRE dbをメモリーに適合させて、高可用性/災害復旧と高速データ検索を実現するように設計されています。