MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでEXPLAINキーワードを使用する


MySQL EXPLAINは、クエリ実行プランを提供します。 EXPLAINは、最初にSELECT、INSERT、DELETE、REPLACE、およびUPDATEで使用できます。

データベースでの全表スキャンを回避するには、インデックスを使用する必要があります。まずテーブルを作成しましょう-

mysql> create table DemoTable1488
   -> (
   -> StudentId int,
   -> StudentName varchar(20),
   -> StudentAge int
   -> );
Query OK, 0 rows affected (2.18 sec)

インデックスを作成するためのクエリは次のとおりです-

mysql> create index student_id_index on DemoTable1488(StudentId);
Query OK, 0 rows affected (0.90 sec)
Records: 0  Duplicates: 0  Warnings: 0

DemoTable1488に挿入value挿入コマンドを使用してテーブルにいくつかのレコードを挿入します-

mysql> insert into DemoTable1488 values(101,'Sam',21);
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable1488 values(102,'Bob',23);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1488 values(103,'David',20);
Query OK, 1 row affected (0.21 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1488;

これにより、次の出力が生成されます-

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|       101 | Sam         |         21 |
|       102 | Bob         |         23 |
|       103 | David       |         20 |
+-----------+-------------+------------+
3 rows in set (0.00 sec)

ここで、EXPLAIN-

を使用します
mysql> explain select * from DemoTable1488 where StudentId=1;

これにより、次の出力が生成されます-

+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
| id | select_type | table         | partitions | type | possible_keys    | key              | key_len  | ref | rows  | filtered | Extra |
+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | DemoTable1488 | NULL       | ref  | student_id_index | student_id_index | 5       | const |    1 | 100.00   | NULL |
+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
1 row in set, 1 warning (0.00 sec)

  1. JavaScriptにこのキーワードを説明しますか?

    JavaScriptのthisキーワードは、それが属するオブジェクトを参照します。単独または関数内の場合は、グローバルオブジェクトを参照できます。メソッド内の場合は所有者オブジェクトを参照し、イベントリスナーでイベントを受信したHTML要素を参照します。 例 以下は、JavaScriptのこの識別子のコードです- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&quo

  2. Pythonを使用したMySQLでのSELECTDISTINCTステートメントの使用について説明しますか?

    SQLテーブル内では、通常、列に重複する値が含まれています。値が重複していると、クエリによって返された結果を分析することが困難になるため、テーブルの列に存在する個別の値または異なる値のみを取得する必要がある場合があります。 例: 顧客、名前、年齢、国などの詳細を含むCustomersという名前のテーブルがあるとします。顧客がどの国に属しているかを知る必要があります。インドから10人、アメリカから15人などの顧客がいる可能性があります。国の列を選択するだけでは、重複する値が多数含まれる列全体が返されます。結果の分析が困難になるため、これは目的を果たしません。異なる国を知りたいだけです。