MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスにより、MySQL の検索速度が大幅に向上します。 例え話で言えば、適切な設計とインデックスを備えた MySQL がランボルギーニだとすると、インデックスのない MySQL は人力三輪車です。 中国語辞書の目次(索引)を例にとると、ピンイン、画数、部首などで分類された目次(索引)から必要な文字を素早く見つけることができます。 インデックスは、単一列インデックスと複合インデックスに分けられます。単一列インデックスは、1 つの列のみを含むインデックスです。テーブルには複数の単一列インデックスを設定できますが、これらは複合インデックスではありません。複合インデックス、つまり複数の列を含むインデックス。 インデックスを作成するときは、インデックスが SQL クエリ ステートメント (通常は WHERE 句の条件として) に適用されていることを確認する必要があります。 実際、インデックスは主キーとインデックス フィールドを格納し、エンティティ テーブルのレコードを指すテーブルでもあります。 上記ではインデックスを使用する利点について説明しましたが、インデックスを過度に使用すると悪用につながります。したがって、インデックスにも欠点があります。インデックスによってクエリ速度は大幅に向上しますが、INSERT、UPDATE、DELETE などのテーブル更新の速度も低下します。テーブルを更新する場合、MySQL はデータだけでなくインデックス ファイルも保存する必要があるためです。 インデックスを構築すると、インデックス ファイル用のディスク領域が消費されます。 通常のインデックス インデックスを作成 これは最も基本的なインデックスであり、制限はありません。以下の方法で作成できます。 mytable(username(length))にインデックスindexNameを作成します。 CHAR または VARCHAR 型の場合、長さはフィールドの実際の長さより短くてもかまいません。BLOB または TEXT 型の場合は、長さを指定する必要があります。 テーブル構造の変更(インデックスの追加) ALTER テーブル tableName ADD INDEX indexName(columnName) テーブル作成時に直接指定する テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, INDEX [インデックス名] (ユーザー名(長さ)) ); インデックスを削除する構文 mytable のインデックス [indexName] を削除します。 ユニークインデックス これは、インデックス列の値が一意である必要があることを除いて、以前の通常のインデックスと似ていますが、null 値が許可されます。複合インデックスの場合、列の値の組み合わせは一意である必要があります。以下の方法で作成できます。 インデックスを作成 mytable(ユーザー名(長さ))に一意のインデックスindexNameを作成します。 テーブル構造を変更する ALTER テーブル mytable ADD UNIQUE [indexName] (ユーザー名(長さ)) テーブル作成時に直接指定する テーブル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 を削除します。 インデックス情報を表示する SHOW INDEX コマンドを使用して、テーブル内の関連するインデックス情報を一覧表示できます。 \G を追加することで出力をフォーマットできます。 次の例を試してください。 mysql> SHOW INDEX FROM table_name; \G ........ 以上がMySQLインデックス知識のまとめの詳しい内容です。MySQLインデックスについてさらに詳しく知りたい方は、123WORDPRESS.COMの他の関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: Apache クロスドメイン リソース アクセス エラーの解決策
>>: Linux で実行中のすべてのプロセスを表示する方法
Vueはパンくずコンポーネントをカプセル化して参照します。具体的な内容は次のとおりです。効果を達成す...
目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...
質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...
2次元配列の次元削減配列インスタンスメソッド concat と ES6 スプレッド演算子を使用した次...
目次クラス void のポイントES6 矢印関数ヴュートファイvue-cli非同期と同期実行と展開ヒ...
目次1. グローバルガード1.1 グローバルフロントガード1.2 グローバルポストルートガード1.3...
HTML デザインパターン学習ノート今週は主にHTMLデザインパターンを学びました。学習内容をまとめ...
コンテンツ詳細タグ: <h1>~<h6>タイトルタグ<pre>テ...
この記事では、ローカル マシンに Java 8 をインストールせずに、Java 8 を使用して簡単な...
以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...
昨晩、面接の質問を見ていたら、CSS スタイルの優先順位について特に明確に説明していない人が何人かい...
この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...
データベースはさておき、人生における方言とは何でしょうか?方言とは、ある場所特有の言語です。他の場所...
序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...