MySQL 上級学習インデックスの長所と短所、使用ルール

MySQL 上級学習インデックスの長所と短所、使用ルール

1. インデックスの利点と欠点

利点: 高速検索、高速グループ化および並べ替え

デメリット: ストレージスペースを占有し、データテーブルの変更操作が減少する

2. 指標の分類

主キーインデックスつまり、プライマリインデックスは主キーpk_clolum(長さ)に基づいて作成され、重複やnull値は許可されません。
ユニークインデックスインデックスの作成に使用される列の値は一意である必要があり、null 値が許可されます。
通常のインデックス制限なしでテーブル内の通常の列で構築されたインデックス
全文索引大きなテキストオブジェクトの列に構築されたインデックス
全文索引大きなテキスト オブジェクトの列で構築されたインデックス。
総合指数複数の列を使用して構築されたインデックス。これらの列の値には null 値は許可されません。

3. インデックスの使用ルール

1. インデックス作成に適した状況

  • 主キーは自動的に一意のインデックスを作成します。
  • WHERE または ORDER BY ステートメントのクエリ条件として頻繁に出現する列にはインデックスを付ける必要があります。
  • ソートする列にはインデックスを付ける必要があります。
  • クエリ内の他のテーブルに関連付けられたフィールドと外部キー関係がインデックス化されます。
  • 同時実行性が高い状況では結合インデックスを優先します。
  • 集計関数に使用される列にはインデックスを付けることができます。たとえば、max(column_1) または count(column_1) を使用する場合は、column_1 にインデックスを付ける必要があります。

2. インデックス作成が適さない状況

  • 頻繁に追加、削除、または変更される列にはインデックスを作成しないでください。
  • インデックス付けされていない繰り返し列が多数あります。
  • テーブルのレコード数が少なすぎる場合は、インデックスを作成しないでください。

3. インデックスの失敗

  • 複合インデックスには NULL 値を指定できません。NULL 値がある場合、この列は複合インデックスに対して無効です。
  • LIKE 操作では、「%aaa%」はインデックスを使用しません。つまり、インデックスは無効になりますが、「aaa%」はインデックスを使用できます。
  • インデックス付き列で式または関数を使用すると、インデックスが無効になります。
  • クエリ条件では、< 記号、> 記号、! などの「等しくない」を使用します。 = インデックスが失敗します。
  • クエリ条件で IS NULL または IS NOT NULL を使用すると、インデックスが無効になります。
  • 文字列が一重引用符で囲まれていない場合、インデックスは無効になります。
  • クエリ内の複数の条件を OR を使用して接続すると、OR でリンクされた各条件がインデックス化されていない限り、インデックスは失敗します。
  • 並べ替えフィールドでインデックスを使用する場合、選択したフィールドもインデックス フィールドである必要があります。そうでない場合、インデックスは無効になります。
  • 複数列の並べ替えを含めないようにしてください。必要な場合は、キューの複合インデックスを作成するのが最適です。

4. インデックスに関するSQL

1. テーブル作成時にインデックスを追加する

-- テーブル作成時にインデックスを追加します -- INDEX キーワード -- myindex 自分で選択したインデックス名 -- (username(16)) 追加する列 CREATE TABLE mytable(
 ID INT NULLではありません、
 ユーザー名 VARCHAR(16) NOT NULL,
 INDEX myindex (ユーザー名(16))
);

2. テーブル作成後にインデックスを追加する

-- インデックスを追加 -- myindex インデックス名 (自己定義)
-- mytable テーブル名 CREATE INDEX myindex ON mytable(username(16));
または ALTER TABLE mytable ADD INDEX myindex(username);

3 インデックスを表示

-- mytable テーブル名 show index FROM mytable;

4. インデックスを削除する

-- myindex インデックス名 (自己定義)
-- mytable テーブル名 DROP INDEX myindex ON mytable;
または ALTER TABLE mytable DROP INDEX myindex;

要約する

これで、インデックスの長所と短所、および高度な MySQL 学習におけるルールの使用に関するこの記事は終了です。より関連性の高い MySQL の高度なインデックスのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • mysql インデックスの追加 mysql インデックスの作成方法
  • MySQL インデックスタイプの概要と使用上のヒントと注意事項
  • MySQL でインデックスを表示、作成、削除する方法
  • MySQL インデックス作成方法、構文構造、および例
  • MySQL パフォーマンス最適化インデックス最適化
  • Mysql インデックスが失敗するいくつかの状況の分析
  • MySQLの主キーとインデックスの関係と違いの分析
  • MySQL全文インデックスに基づく詳細な理解
  • MySQLのINサブクエリによってインデックスが使用できなくなる問題を解決する
  • MySQL インデックス分析と最適化

<<:  CSS変数を使用してスタイルを変更する方法の例

>>:  Docker実行コンテナが作成状態にある問題についての簡単な説明

推薦する

CocosCreatorの共通知識ポイントを整理する

目次1. シーンの読み込み2. ノードを見つける1. ノード検索2. その他のノード操作3. 再生ア...

div+cssとウェブ標準ページの利点

div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...

Vue バッチ更新 DOM 実装手順

目次シーン紹介深い応答性トリガーゲッターDep.targetを探すゲッターセッター要約するシーン紹介...

ログインフォームを実装するためのJavaScript

この記事の例では、ログインフォームを実装するためのJavaScriptの具体的なコードを参考までに共...

win10 mysql 5.6.35 winx64 無料インストールバージョン設定チュートリアル

mysql 5.6.35 winx64無料インストールバージョン構成チュートリアルwin10、具体的...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

Vue で親子コンポーネントの値を双方向バインドするために v-model を使用するときに発生する問題と解決策

目次シナリオ解決してみる解決するシナリオ今日、コンポーネントの双方向データバインディングにv-mod...

HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...

JavaScriptはスクロールバーの位置を取得し、ページをアンカーポイントまでスライドします。

序文この記事は、私が最近仕事で遭遇した問題を記録したものです。アプリネイティブとフロントエンドのh5...

ミニプログラムカスタムコンポーネントの非効率的なグローバルスタイルの解決策

目次長すぎて読めないコンポーネントスタイルの分離デモテスト優先度ページの分離構成参考文献ネイティブ ...

Docker の MySQL 時間とシステム時間の不一致の問題を解決する

最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...

複数のプロジェクトをデプロイする Docker nginx の例

前提条件1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方...

HTML テーブル マークアップ チュートリアル (6): 暗い境界線の色属性 BORDERCOLORDARK

表では、右下の境界線の色を個別に定義したり、セルの左上の境界線の色を定義したりできます。これら 2 ...

現在のマウススライドの座標を取得するVue+openlayer5メソッド

序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...

計算プロパティとリスナーの詳細

目次1. 計算されたプロパティ1.1 基本的な例1.2 計算プロパティキャッシュとメソッド1.3 計...