GNU/Linux >> Linux の 問題 >  >> Linux

例を使用してMySQLでインデックスを作成または追加する方法

はじめに

MySQLは、データをテーブルに編成するデータベースアプリケーションであり、テーブルには値が行と列に編成されています。 MySQLでは、インデックス は、情報をより検索しやすくするデータ構造です。

インデックスがないと、MySQLはテーブル全体を読み取って必要な行を見つけ、非常に非効率的です。

このガイドでは、CREATE INDEXを使用してMySQLでインデックスを作成する方法を説明します。 ステートメント。

前提条件

  • 既存のMySQLインストール
  • rootを持つMySQLユーザーアカウント または管理者 特権
  • コマンドライン/ターミナルウィンドウへのアクセス:
    • Linuxでは、アクティビティ>検索>ターミナルをクリックします
    • Windowsでは、スタート>コマンドライン(またはWindows PowerShell)を右クリックします。

MySQLCreateIndex構文

CREATE INDEX MySQLのステートメントは次の形式を使用します:

mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
  • some_index –インデックスの名前
  • some_table –インデックスが作成されている列を含むテーブルの名前
  • some_column, other_column –インデックスを作成する列の名前

MySQLは新しいテーブルにインデックスを作成します

MySQLでテーブルを作成すると同時にインデックスを作成するには:

1.ターミナルウィンドウを開き、MySQLシェルにログインします。

mysql -u username -p

2.次のコマンドを入力して、新しいデータベースを作成して切り替えます。

mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed

3.次に、テーブルに列を作成し、それらにインデックスを付けます。

mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);

このコマンドは、 exampleという名前のテーブルを作成します 、4つの列を入力し、列2と列3のインデックスを追加します。

4.次に、テーブルのインデックスのリストを表示します。

mysql; SHOW INDEXES FROM example;

PRIMARY、COL2、およびCOL3のインデックスが表示されます。 PRIMARYが指定されていなくても、MySQLは主キーのインデックスを自動的に作成しました。

既存のMySQLテーブルにインデックスを追加する

MySQLのベストプラクティスでは、テーブルの作成と同時にインデックスを作成することをお勧めします。ただし、既存のテーブルにインデックスを追加することもできます。以下の手順では、既存のMySQLテーブルにインデックスを追加する方法について説明します。

1.次のコマンドを入力して、新しいテーブルを作成します。

mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)

2.次に、 example2の現在のインデックスを表示します

mysql> SHOW INDEXES FROM example2;

システムは、主キーの単一のインデックスを表示する必要があります。

3.次に、次のコマンドを入力して、col2とcol3のインデックスを追加します。

mysql> CREATE INDEX index1 ON example2 (col2,col3);

4. example2のインデックスを表示します

mysql> SHOW INDEXES FROM example2;

これで、主キーインデックスに加えて、 index1にリストされているcol2とcol3が表示されます。


Linux
  1. MySQLWorkbenchを使用してMySQLでデータベースを作成する方法

  2. cPanelでMySQLデータベースを作成する方法

  3. LinuxでリモートMySQL接続を追加するにはどうすればよいですか?

  1. Linuxのグループにユーザーを追加する方法(例を含む)

  2. Virshを使用して最初からVmを作成する方法は?

  3. Linux KVM をインストールしてゲスト VM を作成する方法と例

  1. EmacsでLaTeXドキュメントを作成する方法

  2. MySQLでテーブルを作成する方法

  3. Btrfs ファイル システムを作成してマウントする方法 (例で説明)