MySQLインデックス
インデックスの利点
インデックスとは、とても派手な名前ですが、はっきり言って、私たちの本の最新の目次です。
新華辞典を使用して、目次を使用せずに漢字「张」を検索する場合、新華辞典の最初のページから最後のページを見つける必要があり、最大 2 時間かかる場合があります。辞書が分厚くなればなるほど、時間がかかります。ここで、ディレクトリを使用して漢字「Zhang」を検索します。Zhang の最初の文字は z で、z で始まる漢字は 900 ページ以上あります。この手がかりがあれば、検索には 1 分しかかかりません。漢字の場合、これは性別の重要性を示しています。
インデックスは、列内の特定の値を持つ行をすばやく検索するために使用されます。
インデックスを使用しない場合、MySQL は最初のレコードから開始して、関連する行が見つかるまでテーブル全体を読み取る必要があります。テーブルが大きいほど時間がかかります。テーブル内のクエリ対象のカラムにインデックスがある場合、MySQL はすべてのデータを調べることなく、データ ファイルの中央を検索する段階にすぐに到達できます。
もちろん、インデックスの数が多すぎると、修正速度が遅くなります。変更されたデータを書き込むときは、インデックスも変更する必要があるためです。
MySQLインデックスタイプ
| インデックスタイプ | 機能説明 |
|---|---|
| 通常のインデックス | 最も基本的なインデックスであり、制限はありません |
| 一意のインデックス | 特定の行一意のインデックスを使用しますこの列の行データ内で重複する値は許可されません。この列のデータの各行は一意である必要があります |
| 主キー インデックス | これは、NULL 値を許可しない特別な一意のインデックスです。通常、主キーインデックスはテーブル作成時に同時に作成され、ユーザーIDに使用されることが多いです。本のページ番号に似ています |
| 全文インデックス | グローバル検索が必要なデータについては、全文インデックスを実行します |
注: 12.7 を完了した後で、次の部分を学習してください。
通常のインデックス
| タイプ | 詳細な説明 |
|---|---|
| 基本構文 | テーブルテーブルの追加インデックス(フィールド) |
| 例 | ALTER TABLEお金A DD Index (Username);moneyADD INDEX(username); |
| 示例解释 | 为money表的username字段增加索引 |
唯一索引
詳細な説明
| 类型 | 详细说明 |
|---|---|
| 基本语法 | alter table 表 add UNIQUE(字段) |
| 示例 | ALTER TABLEmoneyADD UNIQUE(email |
| Money テーブルのユーザー名フィールドはインデックスを増加させます |
moneyADD UNIQUE(
email); 例の説明マネーテーブルの電子メールフィールドに一意のインデックスを追加します
全文インデックス
| タイプ | 詳細な説明 |
|---|---|
| 基本構文 | alter table add FULLTEXT(field) |
| 例 | ALTER TABLEmoneyA DD FULLTEXT ( |
| 示例解释 | 为money表的content字段增加唯一索引 |
主键索引
| 类型 | 详细说明 |
|---|---|
| 基本语法 | alter table 表 add PRIMARY KEY(字段) |
| 示例 | ALTER TABLEmoneyADD PRIMARY KEY(id); |
| 例の説明 | 金額テーブルのコンテンツフィールドに一意のインデックスを追加します |
主キーインデックス
Type基本構文 alter table table add PRIMARY KEY (field)
詳しい説明
マネーテーブルの場合 id フィールドは主キーインデックスを追加します
test(idINT NOT NULL ,usernameVARCHAR(20) NOT NULL ,passwordINT NOT NULL ,content
例id
ALTER TABLEmoneyADD PRIMARY KEY(password);usernamecontent例の説明
test( INT NOT NULL , VARCHAR(20) NOT NULL , INT NOT NULL , INT NOT NULL , 主キー ()、 INDEX pw ()、 ユニーク ()、 全文 () ) エンジン = InnoDB;

