ホームページ  >  記事  >  データベース  >  高パフォーマンス MySQL のアーキテクチャと概念の詳細な説明

高パフォーマンス MySQL のアーキテクチャと概念の詳細な説明

黄舟
黄舟オリジナル
2017-03-15 17:18:351269ブラウズ


1. MySQL の論理アーキテクチャ

高パフォーマンス MySQL のアーキテクチャと概念の詳細な説明 上部の部分は、すべてのネットワークベースの C/S ネットワーク アプリケーションに接続処理、認証、セキュリティ管理などが含まれている必要があります。

中間層は MySQL の中核であり、

クエリの解析、分析、最適化、キャッシュなどが含まれます。同時に、ストアド プロシージャトリガービューなどを含むクロスストレージ エンジン機能も提供します。

一番下はストレージ エンジンで、データへのアクセスを担当します。サーバーは、ストレージ エンジン

API を通じてさまざまなストレージ エンジンと対話できます。

1.1. クエリの最適化と実行 (最適化と実行)

MySQL はユーザーのクエリ ステートメントを解析し、内部データ構造 - 分析ツリーを作成し、クエリの書き換えや選択的な読み取りなどのさまざまな最適化を実行します。 、どの

index を使用するかなど。クエリ オプティマイザーはテーブルで使用されるストレージ エンジンを考慮しませんが、ストレージ エンジンはサーバーがクエリを最適化する方法に影響を与えます。オプティマイザは、ストレージ エンジンを通じていくつかのパラメータ、操作の実行コスト、および統計情報を取得します。クエリを解析する前に、サーバーはクエリ キャッシュにアクセスします。クエリ キャッシュには、SELECT ステートメントと対応するクエリ結果セットが保存されます。クエリ結果がすでにキャッシュにある場合、サーバーはクエリを解析、最適化、実行しません。キャッシュ内の結果のみをユーザーに返すため、システムのパフォーマンスが大幅に向上します。

1.2. 同時実行制御

MySQL は、サーバー レベルとストレージ エンジン レベルの 2 つのレベルの同時実行制御を提供します。ロックは、同時実行制御を実現するための基本的な方法です。 MySQL のロックの粒度:

(1) テーブル レベルのロック: MySQL は、ストレージ エンジンとは独立してテーブル ロックを提供します。たとえば、ALTER TABLE ステートメントの場合、サーバーはテーブルを提供します。 -レベルロック)。

(2) 行レベルのロック: InnoDB および Falcon ストレージ エンジンは行レベルのロックを提供します。さらに、BDB はページレベルのロックをサポートします。 InnoDB の同時実行制御メカニズムについては、次のセクションで詳しく説明します。


以上が高パフォーマンス MySQL のアーキテクチャと概念の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。