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 の文字化けしたコードとポート占有の解決方法について簡単に説明します

推薦する

太陽系の惑星のアニメーション効果を実現するHTML+CSS3コード

太陽系の 8 つの惑星(衛星を除く)のアニメーションを作成します。すべての惑星は太陽の周りを回ってい...

クリック範囲を拡大する入力チェックボックスを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー< div style = &quo...

JavaScriptはキャンバスを使用して座標と線を描画します

この記事では、JavaScriptでキャンバスを使用して座標と線を描く具体的なコードを参考までに紹介...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

...

Dockerコンテナデータボリュームの原理と使用法の分析

コンテナデータボリュームとはデータがコンテナ内にある場合、コンテナを削除するとデータは失われます。例...

NetEase ブログで使用されているシンプルな Web ページ コード

NetEase Blog でコードを使用する方法: まずブログにログインし、ブログのホームページの左...

Dockerの国内イメージソースを変更する方法

Dockerデーモンのアクセラレータを構成する設定ファイルから Docker を起動し、/etc/d...

MySQL は低速クエリを可能にします (EXPLAIN SQL ステートメントの使用の概要)

今日、データベース操作はますますアプリケーション全体のパフォーマンスのボトルネックになりつつあり、こ...

CSS3 における擬似クラスの一般的な使用法の詳細な説明

before/after 疑似クラスは、要素内に 2 つの追加タグを挿入するのと同じです。最も適した...

MySQL 5.7.17 のインストールと使用方法のグラフィックチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

MySQL インデックスの失敗を引き起こす一般的な書き込み方法の概要

序文最近、古いプロジェクトから残ったいくつかの SQL 最適化の問題に対処するのに忙しくしています。...

HTML タイトル属性をラップする方法

数日前にプログラムを書いていたとき、プロンプト情報 (TITLE) を新しい行で囲みたいと思いました...

IE8を閲覧するときにウェブサイトが自動的にIE7互換モードを使用するようにする

序文IE の将来のすべてのバージョンで Web ページの外観が一貫していることを保証するために、IE...

jsを使用して簡単なスネークゲームを書く

この記事では、参考までに、jsで書かれたシンプルなスネークゲームの具体的なコードを紹介します。具体的...