この記事では、MySQL アーキテクチャ コンポーネントについて紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
コネクタは主に接続の確立を担当します。接続、権限の検証、および管理接続については、コマンド show processlist を使用して接続情報を表示できます。ユーザー接続が正常に作成されると、権限情報がメモリに読み込まれます。後でユーザーの権限を変更した場合、更新しないと変更が反映されません。
コネクションは、長時間指示がない(アイドル状態)と、一定時間後にコネクタがリンクを切断します。この時間はパラメータ wait_timeout によって制御され、デフォルトは 8 時間です。
コネクタ内の接続は、長い接続と短い接続に分けられます。
長い接続: 接続が成功した後、クライアントは同じ接続の使用を要求します
クエリ キャッシュがヒットしない場合は、SQL を実際に実行する必要があり、実行前に SQL を解析する必要があります。この解析は主に字句解析に分けられます。分析と構文分析の 2 つのステップ。
オプティマイザーは、アナライザーによって生成された AST を入力として受け取り、SQL を最適化し、オプティマイザーが最適な実行プランと考えるものを生成し、それを実行のためにエグゼキューターに渡します。最適化プロセスには、SQL の論理変換とコスト計算が含まれます。
オプティマイザーは、生成されたクエリ プランと上記 2 つのコスト構成に基づいてクエリ プランの最終的なコストを計算し、複数のクエリ プランの中からエグゼキューターへのコストが最も小さいものを選択して実行します。ただし、コストが最小であることが必ずしも実行時間の最短を意味するとは限らないことに注意してください。
エグゼキュータは、オプティマイザによって選択されたクエリ プランに従って SQL を実行します。実行前に、要求元のユーザーが対応するクエリ権限を持っているかどうかも確認し、最後にMySQL エンジン層を呼び出す SQL ステートメントを実行して結果を返すインターフェイスを提供します。クエリ キャッシュが有効になっている場合、結果もクエリ キャッシュに保存されます。
関連する推奨事項: 「mysql チュートリアル 」
以上がMySQL アーキテクチャ コンポーネントとはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。