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

推薦する

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

Centos8 で yum を使用して mongodb 4.2 をインストールする方法

1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...

jquery-multiselect を使用した IE6 のバグの解決方法

jquery-multiselect (ドロップダウン ボックスをチェックボックス付きの複数選択コン...

HTML初心者や初級者向けの提案。専門家は無視してかまいません。

感想:私はバックエンド開発者です。静的 (HTML) ページを取得すると、ページ構造と命名規則が極端...

Reactの簡単な紹介

目次1. CDNの紹介1.1 react (最初にインポート) 1.2 react-dom(後ほど紹...

CSS transform-originプロパティを理解する

序文最近、花火アニメーションを作成しました。花火が散るアニメーションです。アニメーションの実装中、花...

webpackのモバイル適応ソリューションの概要

目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...

mysql5.6 の無効な utf8 設定の問題を解決する

mysql5.6 のグリーン バージョンを解凍すると、my-default.ini ファイルが作成さ...

Centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar の簡単な分析

Baiduクラウドディスク:リンク: https://pan.baidu.com/s/1hv5rUW...

MySQL トランザクション制御フローと ACID 特性

目次1. ACIDの特性トランザクション制御構文3. トランザクション同時実行例外1. ダーティリー...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

Zabbix による VMware Exsi ホストの監視のグラフィカルな手順

1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...

Nginx をインストールして複数のドメイン名を設定する方法

Nginx のインストールCentOS 6.x yum にはデフォルトで nginx ソフトウェア ...

1 つの記事で v-model とその修飾子を学ぶ

目次序文v-model の修飾子:怠け者トリム番号さまざまな入力タイプやその他の要素での v-mod...