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

推薦する

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

MySQL 8.0.11 の詳細なインストール手順

この記事では、参考までにMySQL 8.0.11のインストール手順を紹介します。具体的な内容は次のと...

MySQL データを誤って削除した場合の簡単な解決策 (MySQL フラッシュバック ツール)

概要Binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

Ubuntu での mysql のインストールと使用 (一般版)

Ubuntu のバージョンに関係なく、MySQL データベースのインストールは基本的に同じです。具...

Vueコンポーネントは、写真やビデオをアップロードするためのサンプルコードをカプセル化します

まず依存関係をダウンロードします: cnpm i -S vue-uuid ali-oss画像フィール...

VUE でタブページを切り替える 4 つの方法

目次1. 静的実装方法: 2. 第2のシミュレーション動的方法3. 3番目の動的データ方式4. 動的...

HTML テーブル マークアップ チュートリアル (6): 暗い境界線の色属性 BORDERCOLORDARK

表では、右下の境界線の色を個別に定義したり、セルの左上の境界線の色を定義したりできます。これら 2 ...

MySQL の innodb_flush_log_at_trx_commit と sync_binlog を区別する方法

2 つのパラメータ innodb_flush_log_at_trx_commit と sync_bi...

シンプルなスネークを実現するためのネイティブjsキャンバス

この記事では、参考までに、簡単なスネークゲームを実装するためのjsキャンバスの具体的なコードを共有し...

vue3 のストアを使用してスクロール位置を記録する例

目次全体的な効果コンテナのスクロールイベントをリッスンするストア内の構成ページが戻るときのスクロール...

VUEの基本を理解するのに役立つ記事

目次VUEとはVueのコアプラグインVueルーターヴュークスアクシオス要素UI Vue フロントエン...

MySQLカスタム変数の概念と特徴

MySQL カスタム値は、値を保存するための一時的なコンテナです。サーバーへの接続がアクティブである...

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

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