MySQLインデックス

インデックスの利点

インデックスとは、とても派手な名前ですが、はっきり言って、私たちの本の最新の目次です。

新華辞典を使用して、目次を使用せずに漢字「张」を検索する場合、新華辞典の最初のページから最後のページを見つける必要があり、最大 2 時間かかる場合があります。辞書が分厚くなればなるほど、時間がかかります。ここで、ディレクトリを使用して漢字「Zhang」を検索します。Zhang の最初の文字は z で、z で始まる漢字は 900 ページ以上あります。この手がかりがあれば、検索には 1 分しかかかりません。漢字の場合、これは性別の重要性を示しています。

インデックスは、列内の特定の値を持つ行をすばやく検索するために使用されます。

インデックスを使用しない場合、MySQL は最初のレコードから開始して、関連する行が見つかるまでテーブル全体を読み取る必要があります。テーブルが大きいほど時間がかかります。テーブル内のクエリ対象のカラムにインデックスがある場合、MySQL はすべてのデータを調べることなく、データ ファイルの中央を検索する段階にすぐに到達できます。

もちろん、インデックスの数が多すぎると、修正速度が遅くなります。変更されたデータを書き込むときは、インデックスも変更する必要があるためです。

MySQLインデックスタイプ

インデックスタイプ機能説明
通常のインデックス最も基本的なインデックスであり、制限はありません
一意のインデックス特定の行一意のインデックスを使用しますこの列の行データ内で重複する値は許可されません。この列のデータの各行は一意である必要があります
主キー インデックスこれは、NULL 値を許可しない特別な一意のインデックスです。通常、主キーインデックスはテーブル作成時に同時に作成され、ユーザーIDに使用されることが多いです。本のページ番号に似ています
全文インデックスグローバル検索が必要なデータについては、全文インデックスを実行します

注: 12.7 を完了した後で、次の部分を学習してください。

通常のインデックス

タイプ詳細な説明
基本構文テーブルテーブルの追加インデックス(フィールド)
ALTER TABLE お金 A DD Index ( Username ); money ADD INDEX(username);
示例解释为money表的username字段增加索引

唯一索引

例の説明 Money テーブルのユーザー名フィールドはインデックスを増加させます

詳細な説明

类型详细说明
基本语法alter table 表  add UNIQUE(字段)
示例ALTER TABLE money ADD UNIQUE(email
🎜🎜🎜🎜🎜基本構文🎜🎜alter table table add UNIQUE(field)🎜🎜🎜🎜例🎜🎜ALTER TABLE money ADD UNIQUE(email); 例の説明🎜🎜マネーテーブルの電子メールフィールドに一意のインデックスを追加します🎜🎜🎜🎜

全文インデックス

タイプ詳細な説明
基本構文alter table add FULLTEXT(field)
ALTER TABLE money A DD FULLTEXT (money ADD FULLTEXT(content);
示例解释为money表的content字段增加唯一索引

主键索引

类型详细说明
基本语法alter table 表  add PRIMARY KEY(字段)
示例ALTER TABLE money ADD PRIMARY KEY(id);
例の説明金額テーブルのコンテンツフィールドに一意のインデックスを追加します

主キーインデックス

Type


詳しい説明

基本構文

alter table table add PRIMARY KEY (field)

test (
     id INT NOT NULL ,
     username VARCHAR(20) NOT NULL ,
     password INT NOT NULL ,
     content
id
ALTER TABLE money ADD PRIMARY KEY(password);
username
content例の説明

マネーテーブルの場合 id フィールドは主キーインデックスを追加します
🎜🎜🎜テーブルの作成時にインデックスを宣言することもできます🎜🎜テーブルを作成するとき、create table ステートメントの後に対応する型を追加することでインデックスを宣言できます:🎜🎜🎜主キー (フィールド) 🎜 INDEX [インデックス名] (フィールド)🎜 FULLTEXT [インデックス名] (フィールド)🎜 UNIQUE[インデックス名] (フィールド)🎜🎜🎜注: 角括弧内のインデックス名はオプションを表します。 🎜🎜全体的な例は次のとおりです: 🎜🎜🎜CREATE TABLE test (🎜 🎜 INT NOT NULL , 🎜 🎜 VARCHAR(20) NOT NULL , 🎜 🎜 INT NOT NULL , 🎜 🎜 INT NOT NULL , 🎜 主キー (🎜)、🎜 INDEX pw (🎜)、🎜 ユニーク (🎜)、🎜 全文 (🎜)🎜 ) エンジン = InnoDB;🎜🎜🎜
学び続ける
||
<?php echo "Hello Mysql"; ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜