1. はじめに MySQL が起動すると、BufferPool が初期化されます。クエリ操作を実行する前は、BufferPool のキャッシュ ページは空のメモリ ブロックであり、使用されておらず、データも保存されていません。 また、それが指すキャッシュ ページは、キャッシュ ページの説明情報を通じて直接かつ一意に見つけることができることもわかっています。 ディスクから読み取ったデータ ページをどのバッファー ページに配置する必要があるか考えたことがありますか? この問題により、フリー リストが表示されます。 2. フリーリスト 実際、フリー リストは、キャッシュ ページの説明情報に基づいてバッファー プールに編成された双方向リンク リストです。つまり、フリーリスト内の各ノードは、キャッシュページに対応する記述情報です。指定されたキャッシュページ(キャッシュページ)は説明情報を通じて見つけることができます InnoDB が Free List を設計した本来の目的は、上記の問題を解決することです。 このキャッシュ ページにデータが格納されていない場合、対応する説明情報はフリー リストに保持されます。このとき、ディスクから読み取ったデータ ページをキャッシュ ページに配置する場合は、まずフリー リストからノードを見つけ (フリー リスト内のすべてのノードは、一度も使用されたことのないキャッシュ ページを指します)、その後、読み取ったデータ ページをそのノードが指すキャッシュ ページに配置する必要があります。 対応: データがデータ ページに配置された後。対応する説明情報ブロックはフリーリストから削除されます。 3. データ ページがキャッシュ内にあるかどうかを確認するにはどうすればよいでしょうか? MySQL は、読み取ったデータ ページがキャッシュ ページ内にあるかどうかをどのようにして認識するのか疑問に思ったことはありませんか? この関数の実装は、別のデータ構造、ハッシュテーブルに依存します。 キー = テーブルスペース番号 + データページ番号 値 = キャッシュページアドレス ハッシュ テーブルに存在する場合、データ ページがバッファー プールにすでに存在するため、バッファー プール内のキャッシュ ページが最初に使用されます。バッファ プール内のキャッシュ ページが最初に使用される理由は、間違いなく推測できると思います。まず、ランダム ディスク IO が回避されます。次に、キャッシュ ページ内のデータは変更されたダーティ データである可能性があります。 以上がMySQLのFreeListメカニズムの詳細な説明です。MySQLのFreeListメカニズムの詳細については、123WORDPRESS.COMの他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
>>: Dockerを使用してシンプルなJava開発およびコンパイル環境を構築する方法の詳細な説明
序文apt-get コマンドは、Ubuntu システムのパッケージ管理ツールです。パッケージのインス...
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
目次方法1 1. 構成とインストールの手順:方法2方法3要約する方法1 1. 構成とインストールの手...
序文最近、職場でこの要件に遭遇し、リモート接続を確立するのに 1 時間以上かかりました。ローカル コ...
スタンドアロンの hbase について、まずは説明しましょう。 Dockerをインストールするまず ...
はじめに: MySQL では、CONCAT() 関数を使用して複数の文字列を 1 つの文字列に連結し...
FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...
この記事では、WeChatアプレットで写真を撮ったり、アルバムから写真を選択したりするための具体的な...
折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...
目次1. 関数を宣言する2. 関数の呼び出し3. 関数パラメータ4. 関数の戻り値5. 議論の使用6...
MySQL 8.0.25の最新のダウンロードとインストールのチュートリアルは参考になります。具体的な...
スプライトカウダウンロード CSS リントダウンロード プレフィックスダウンロード 1140px C...
序文インターセプターの機能の 1 つは、特定のメソッドの呼び出しをインターセプトできることです。イン...
SVG は、さまざまな利点があるため、近年広く使用されています。残念ながら、WeChat ミニプログ...
デフォルトでは、Nginx は IP アドレスごとに 1 つの SSL 証明書のみをサポートします。...