MySQL のインデックスの種類 一般的に、次の 4 つのカテゴリに分類できます。
通常のインデックス これは最も基本的なインデックスであり、制限はありません。以下の方法で作成できます。 1. インデックスを作成する コードは次のとおりです。 mytable(username(length))にインデックスindexNameを作成します。 CHAR または VARCHAR 型の場合、長さはフィールドの実際の長さより短くてもかまいません。BLOB または TEXT 型の場合は、長さを指定する必要があります。以下でも同様です。 2. テーブル構造を変更する コードは次のとおりです。 ALTER mytable ADD INDEX [indexName] ON (username(length)) テーブル作成時に直接指定する テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, INDEX [インデックス名] (ユーザー名(長さ)) ); インデックスを削除するための構文は次のとおりです。 mytable のインデックス [indexName] を削除します。 ユニークインデックス これは、インデックス列の値が一意である必要があることを除いて、以前の通常のインデックスと似ていますが、null 値が許可されます。複合インデックスの場合、列の値の組み合わせは一意である必要があります。以下の方法で作成できます。 mytable(ユーザー名(長さ))に一意のインデックスindexNameを作成します。 テーブル構造を変更します。 ALTER mytable ADD UNIQUE [indexName] ON (username(length)) テーブルを作成するときは、直接指定します。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 一意の [indexName] (ユーザー名(長さ)) ); 主キーインデックス これは、null 値を許可しない特別な一意のインデックスです。通常、主キー インデックスはテーブルの作成時に作成されます。 コードは次のとおりです。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 主キー(ID) ); もちろん、ALTER コマンドを使用することもできます。注意: テーブルには主キーを 1 つだけ設定できます。 共同インデックス 単一列インデックスと複合インデックスを視覚的に比較するには、テーブルに複数のフィールドを追加します。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 都市 VARCHAR(50) NOT NULL, 年齢 INT NOT NULL ); MySQL の効率をさらに高めるには、複合インデックスの作成を検討する必要があります。つまり、名前、都市、年齢を 1 つのインデックスに構築します。 コードは次のとおりです。 ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age); インデックスが使用されない状況 インデックスは常に効果的であるとは限りません。正しく操作しないと、インデックスの代わりにテーブル全体のスキャンが実行される可能性があります。Explain の possible_key、key_len、および key パラメータを使用すると、SQL ステートメントでインデックスが使用されているかどうかを分析できます。 以下の状況ではインデックスが失敗します
Explain を使用して、インデックスが使用されているかどうかをテストできます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法
導入前回の記事では、axios のシンプルなカプセル化と、axios インターセプターの適用シナリオ...
目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...
DOM の概念DOM: ドキュメント オブジェクト モデル: ドキュメント オブジェクト モデルは、...
私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...
1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...
フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...
MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...
1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...
SQLのlike文では、例えば SELECT * FROM user WHERE username...
この記事では、jQueryブリージングカルーセル制作原理の具体的なプロセスを参考までに紹介します。具...
Linux では、cat、more、less の各コマンドを使用してファイルの内容を表示できます。c...
今日は、CSS3 の transition-delay 属性のデフォルト値 0 に単位がないのは無効...
目次1. トランザクションとは何ですか? 2. トランザクションに関連するステートメントは、挿入、削...
みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...
序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...