MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスにより、MySQL の検索速度が大幅に向上します。 例え話で言えば、適切な設計とインデックスを備えた MySQL がランボルギーニだとすると、インデックスのない MySQL は人力三輪車です。 インデックスは、単一列インデックスと複合インデックスに分けられます。単一列インデックスは、1 つの列のみを含むインデックスです。テーブルには複数の単一列インデックスを設定できますが、これらは複合インデックスではありません。複合インデックス。つまり、インデックスには複数の列が含まれます。 インデックスを作成するときは、インデックスが SQL クエリ ステートメント (通常は WHERE 句の条件として) に適用されていることを確認する必要があります。 実際、インデックスは主キーとインデックス フィールドを格納し、エンティティ テーブルのレコードを指すテーブルでもあります。 上記ではインデックスを使用する利点について説明しましたが、インデックスを過度に使用すると悪用につながります。したがって、インデックスにも欠点があります。インデックスによってクエリ速度は大幅に向上しますが、INSERT、UPDATE、DELETE などのテーブル更新の速度も低下します。テーブルを更新する場合、MySQL はデータだけでなくインデックス ファイルも保存する必要があるためです。 インデックスを構築すると、インデックス ファイル用のディスク領域が消費されます。 通常のインデックス インデックスを作成 これは最も基本的なインデックスであり、制限はありません。以下の方法で作成できます。 mytable(username(length))にインデックスindexNameを作成します。 CHAR または VARCHAR 型の場合、長さはフィールドの実際の長さより短くてもかまいません。BLOB または TEXT 型の場合は、長さを指定する必要があります。 テーブル構造を変更する 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] (ユーザー名(長さ)) ); ALTER コマンドを使用したインデックスの追加と削除 テーブルにインデックスを追加する方法は 4 つあります。
次の例では、テーブルにインデックスを追加します。 mysql> ALTER TABLE testalter_tbl ADD INDEX (c); ALTER コマンドの DROP 句を使用してインデックスを削除することもできます。インデックスを削除するには、次の例を試してください。 mysql> ALTER TABLE testalter_tbl DROP INDEX (c); ALTERコマンドを使用して主キーを追加および削除する 主キーは 1 つの列にのみ適用できます。主キー インデックスを追加するときは、主キーがデフォルトで空でない (NOT NULL) ことを確認する必要があります。以下に例を示します。 mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl に PRIMARY KEY (i) を追加します。 ALTER コマンドを使用して主キーを削除することもできます。 mysql> ALTER TABLE testalter_tbl で PRIMARY KEY を削除します。 キーを削除する場合は PRIMARY KEY のみを指定する必要がありますが、インデックスを削除する場合はインデックス名を知っておく必要があります。 インデックス情報を表示する SHOW INDEX コマンドを使用して、テーブル内の関連するインデックス情報を一覧表示できます。 \G を追加することで出力をフォーマットできます。 次の例を試してください。 mysql> SHOW INDEX FROM table_name\G ........ 以上がMySQLインデックスの詳細についての簡単な紹介です。MySQLインデックスの詳細については、123WORDPRESS.COMの他の関連記事にも注目してください。 以下もご興味があるかもしれません:
|
<<: MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)
>>: React NativeのScrollViewプルダウンリフレッシュ効果
目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...
一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...
序文データベースの実際の使用では、データの書き込みや読み取りを同時に行わないことが必要な状況によく遭...
目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...
前の 2 つの章を終えて、ボタンのフローティング アニメーションについて新たな理解が得られましたか?...
目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...
1. 問題の出現フラット リストを作成しました。リストの一部には、マウスをホバーすると表示されるポッ...
一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...
1. TCP ラッパーの概要TCP Wrappers は TCP サービス プログラムを「ラップ」し...
HTML コードを書くとき、最初の行は DOCTYPE にする必要がありますが、DOCTYPE は通...
1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...
目次1. COUNTの初見2. COUNT(フィールド)、COUNT(定数)、COUNT(*)の違い...
トランザクション分離レベルの設定 グローバルトランザクション分離レベルを読み取りコミット済みに設定;...
目次ドキュメント オブジェクト モデル (DOM) DOM と JavaScript DOMツリーの...
以前、単純な UDP サーバーとクライアントの例を書きましたが、その中で、自分自身をクライアントと見...