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 8.0.23 インストールの超詳細なチュートリアル

目次序文1. 公式サイトからMySQLをダウンロードする2. 解凍ファイルを設定する3. 初期化4....

JavaScriptは検証コードと検証のランダム生成を実装します

この記事では、検証コードのランダム生成と検証を実現するためのJavaScriptの具体的なコードを参...

MySQL 8.0.20 インストール チュートリアル (画像とテキスト付き) (Windows 64 ビット)

1: mysql公式サイトからダウンロードhttps://dev.mysql.com/downlo...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

グリッドはページのレイアウトプランです

<br /> 英語原文: http://desktoppub.about.com/od/...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

MYSQL の binlog 最適化に関する考察の要約

質問質問 1: トランザクションをコミットするときに REDO ログをフラッシュすることによって発生...

vueはel-tableの列幅の適応を完璧に実現します

目次背景技術的ソリューション具体的な実装要約する背景Element UI は、PC で人気の Vue...

CSSは親コンテナのdivをimg画像で埋め、コンテナのサイズに適応します。

ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...

JS ES の新機能、変数分離割り当て

目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...

Navicatは機能ソリューション共有を作成できません

初めて MySQL FUNCTION を書いたとき、エラーが何度も発生しました。 Err] 1064...

Vueでルーティング権限を動的に設定する主なアイデア

以前、インターネット上で動的ルーティング設定をいくつか見たことがありましたが、現在のプロジェクトとは...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...