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字段增加索引

唯一索引

詳細な説明

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

全文インデックス

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

主键索引

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

主キーインデックス

Type


詳しい説明

基本構文

alter table table add PRIMARY KEY (field)

test(
idINT NOT NULL ,
usernameVARCHAR(20) NOT NULL ,
passwordINT NOT NULL ,
content
id
ALTER TABLEmoneyADD 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;
学び続ける
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!