MySQL サーバーへの接続
MySQL サーバーとのデータベース接続は、その接続したアプリケーション(クライアント)が接続を終了する、もしくはサーバーがシャットダウンするまで保持される。
MySQL サーバーと接続すると、それぞれに識別子が割り当てられる。
以下の例では、識別子"8"が割り当てられていることが分かる。
この識別子は、データベースに何らかの問題が発生した際に、トラブルシューティングで使用される場合がある。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.18 MySQL Community Server - GPL
クエリの送信・実行
クエリがサーバーに送信されると、サーバーはそのクエリを実行する前にいくつか確認していることがある。
1.そのユーザーがリクエストしているクエリを実行する権限があるかどうか
2.そのユーザーがアクセスしようとしているデータに対する権限があるかどうか
3.クエリの文法が正しいかどうか
これらのチェックを通った後、そのクエリはクエリオプティマイザという機能に渡される。
クエリオプティマイザは、テーブルを結合する順番やインデックスなどを調べて、クエリの実行プランを選択する。
クエリの実行後
クエリの実行後、呼び出し元のアプリケーションに対して、結果セットと呼ばれるものが返却される。
結果セットとは、クエリを実行した結果から得られたデータで構成される新しいテーブルのようなもの。
もしクエリを実行した結果、何もデータが得られなかった場合、Empty set が返却される。