0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQL データベース接続からクエリ実行まで

Posted at
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 が返却される。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?