MySQL コマンドを使用してインデックスを作成、削除、およびクエリする方法の紹介

MySQL コマンドを使用してインデックスを作成、削除、およびクエリする方法の紹介

MySQL データベース テーブルでは、インデックスを作成、表示、再構築、削除できるため、クエリ速度が向上します。インデックスは共通インデックスとユニークインデックスに分類され、新規インデックス、変更されたインデックス、削除されたインデックスがあります。ただし、インデックスはどこにでも作成できるわけではなく、特定の条件に基づいて作成する必要があります。次の例は、インデックスの作成と破棄のプロセスを示しています。操作は次のとおりです。

MySQL コマンドに精通していると、さまざまなデータベース操作を便利かつ柔軟に実行できるようになります。この記事では、主に、インデックスの作成、インデックスの再構築、インデックスのクエリ、インデックスの削除など、コマンドを使用して MySQL インデックスを操作する方法について説明します。次の例では、`table_name` はテーブル名、`index_name` はインデックス名、列リストはフィールド リスト (`id`、`order_id` など) を示します。

1. インデックスを作成する

インデックスは、CREATE TABLE ステートメントで作成することも、CREATE INDEX または ALTER TABLE のみを使用してテーブルにインデックスを追加することもできます。次のコマンドは、主キー インデックス (PRIMARY KEY)、結合インデックス (UNIQUE)、および共通インデックス (INDEX) を作成する方法を示しています。

mysql>ALTER TABLE `table_name` ADD INDEX `index_name` (列リスト);
mysql>ALTER TABLE `table_name` ADD UNIQUE `index_name` (列リスト);
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY `index_name` (列リスト);
mysql>CREATE INDEX `index_name` ON `table_name` (column_list);
mysql> `index_name` ON `table_name` (column_list) に対して一意のインデックス `index_name` を作成します。

例えば:

mysql>ALTER TABLE `article` ADD INDEX `id`; //articleテーブルにidインデックスを追加します

または:

mysql>ALTER TABLE `article` ADD INDEX (`id`,`order_id`); // id インデックスと order_id インデックスを article テーブルに追加します

2. インデックスを再構築する

インデックスの再構築は、定期的なデータベース メンテナンス操作中によく使用されます。データベースを長時間実行すると、インデックスが破損する可能性があり、再構築が必要になります。データを再インデックスすると、検索効率が向上します。

mysql> REPAIR TABLE `table_name` QUICK;

3. データテーブルインデックスをクエリする

mysql> SHOW INDEX FROM `table_name`;

4. インデックスを削除する

インデックスの削除は、ALTER TABLE または DROP INDEX ステートメントを使用して実行できます。 DROP INDEX は、次の形式で ALTER TABLE 内の単一のステートメントとして処理できます。

mysql>DROP index `index_name` ON `table_name` (列リスト);
mysql>ALTER TABLE `table_name` DROP INDEX `index_name` (列リスト);
mysql>ALTER TABLE `table_name` DROP UNIQUE `index_name` (列リスト);
mysql>ALTER TABLE `table_name` DROP PRIMARY KEY `index_name` (列リスト);

前の 3 つのステートメントでは、table_name 内のインデックス index_name が削除されます。最後のステートメントでは、PRIMARY KEY インデックスを削除するためにのみ使用されます。テーブルには 1 つの PRIMARY KEY インデックスしか設定できないため、インデックス名を指定する必要はありません。 PRIMARY KEY インデックスが作成されていないが、テーブルに 1 つ以上の UNIQUE インデックスがある場合、MySQL は最初の UNIQUE インデックスを削除します。テーブルから列を削除すると、インデックスに影響します。複数の列を持つインデックスの場合、列の 1 つを削除すると、その列もインデックスから削除されます。インデックスを構成するすべての列を削除すると、インデックス全体が削除されます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL でインデックスを表示、作成、削除する方法
  • MySQL データベース テーブルにインデックスがあるにもかかわらず、クエリが遅いのはなぜですか?
  • MySQLを使用してジョイントユニークインデックスを追加する方法
  • Mysql でフルテキスト インデックスを使用するサンプル コード
  • MySQL インデックスの作成、削除、使用コスト

<<:  Webpack プロジェクトでローダー プラグインをデバッグする方法

>>:  Tomcat の文字化けしたコードとポート占有の解決方法について簡単に説明します

推薦する

優れたウェブサイトのコピーライティングと優れたユーザーエクスペリエンス

ウェブサイトを見るというのは、実は美しい女性を評価するようなものです。見た目を見るとき、私たちは見た...

知らないかもしれないmysqldumpパラメータ

前回の記事で、mysqldump バックアップ ファイルに記録されるタイムスタンプ データは UTC...

純粋な CSS で DIV サスペンションを実装するサンプル コード (固定位置)

DIV フローティング効果 (固定位置) は CSS のみで実装されており、IE8、360、Fir...

Vueのフィルターについて知っておくべきこと

目次序文フィルターとは何かフィルターの使い方グローバルフィルターローカルフィルターフィルターは直列に...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル (Windows の場合)

この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...

Webデザインチュートリアル(8):Webページの階層と空間デザイン

<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...

Dockerは指定されたメモリで操作を実行します

次のように: -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g の...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

CentOS8でのnmcliの使い方の詳しい説明

RHEL8/CentOS8 に基づく一般的な nmcli コマンド # IP を表示する (ifco...

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...

HTML 選択タグにおける単一選択と複数選択の詳細な説明

select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザ...

WindowsでiTunesのバックアップパスを変更する方法

0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...

Vueは動的クエリルール生成コンポーネントを実装します

1. 動的クエリルール動的クエリルールは、おおよそ次の図のようになります。ユーザのカスタマイズに応じ...

Dockerはmysqldumpコマンドを使用してプロジェクト内のmysqlデータをバックアップおよびエクスポートします。

mysqldump コマンドはじめに: データベースバックアッププログラム形式: mysqldum...