索引学習の概要

1.インデックスとは何ですか?

インデックスは、MySQLがデータを効率的に取得するためのデータ構造であり、クエリの効率を向上させることができます。

次に、なぜインデックスを作成するのですか?

データ構造を順番にすばやく検索します。すばやく見つけて、順番に並べ替えます。

第三に、インデックスの構造

btree構造。

第四に、インデックスの利点と欠点

1.利点

  • インデックスにより、検索効率が向上し、IOコストが削減されます。
  • インデックス列でデータを並べ替え、並べ替えのコストを削減し、cupの使用量を削減します。

2.短所

  • インデックスもテーブルであり、テーブルには主キーとインデックスフィールドがあり、エンティティテーブルのデータを指しているため、インデックスはスペースです
  • インデックスを使用すると、インデックスのクエリ速度が大幅に向上しますが、更新の削除、挿入など、テーブルの更新速度が低下します。テーブルを更新するとき、mysqlはデータを保存するだけでなく、インデックスファイルも保存する必要があるためです。
  • インデックス作成は効率を改善するための1つの要素にすぎません。MySQLに大量のデータがある場合、最適なインデックスを確立するか、クエリを最適化するために調査する必要があります。

5、インデックスの分類

1.単一値インデックス。インデックスには単一の列のみが含まれ、テーブルには複数の単一列のインデックスを含めることができます。

select * from user where name = '张三'
create index idx_表名 _索引名 on 表名 (表字段) #单值索引
create index idx_user _name on user (name)

2.一意のインデックス。インデックス列の値は一意である必要がありますが、null値は許可されます。
3.複合インデックス。インデックスに複数の列が含まれています

select * from user where name = '张三' and email ='[[email protected]](mailto:[email protected])'

create index idx_表名 _索引名 on 表名 (表字段1,表字段1) #复合索引
create index idx_user _name on user (name,email )

创建:
create [unique(唯一索引)] index indexName on mytable (columname(length))
alter mytable ADD [unique] index[indexname] on (columname(length))
删除:
drop index [indexname]  on mytable
查看
show index  from mytable

6番目に、インデックス構造l:

  • btreeインデックス
  • ハッシュインデックス
  • フルテキストフルテキストインデックス
  • rツリーインデックス

7、インデックスを作成するための条件

1.どのような状況でインデックスを作成するのが適切か

  • 主キーには自動的にインデックスが作成されます
  • クエリ条件として頻繁に使用されるフィールドにインデックスを作成する
  • クエリの他のテーブルに関連するフィールド、外部キーリレーショナルインデックス
  • 頻繁に更新されるフィールドは、インデックス作成には適していません。
  • 未使用のフィールドがインデックスの作成に適さない場合
  • 単一キー/結合インデックスの選択の問題(同時実行性が高い場合、結合インデックスを作成する傾向がある)
  • クエリで並べ替えられたフィールド。並べ替えられたフィールドにインデックスでアクセスすると、並べ替えの速度が大幅に向上します。
  • クエリの統計またはグループ化フィールド。

2.索引付けに適していないもの

  • レコードが少なすぎます
  • テーブルへの頻繁な追加、削除、変更-データの保存とインデックスファイルの保存
    データが複製され、フィールドが均等に分散され、頻繁にクエリまたはソートされるフィールドにインデックスが付けられます
  • データ列に重複するコンテンツが多数含まれている場合、インデックスを作成しても実用的な効果はあまりありません。テーブルに100,000データがある場合、TとFだけのフィールドがあり、各値の分布確率は約50%です。このテーブルフィールドにインデックスを追加しても、通常、データベースのクエリ速度は向上しません。

ここに画像の説明を挿入

公開された41元の記事 ウォン称賛14 ビュー10000 +

おすすめ

転載: blog.csdn.net/Yunwei_Zheng/article/details/104016940