MySQLインデックス
インデックスの利點(diǎn)
インデックスとは、とても派手な名前ですが、はっきり言って、私たちの本の最新の目次です。
新華辭典を使用して、目次を使用せずに漢字「張」を検索する場合、新華辭典の最初のページから最後のページを見つける必要があり、最大 2 時間かかる場合があります。辭書が分厚くなればなるほど、時間がかかります。ここで、ディレクトリを使用して漢字「Zhang」を検索します。Zhang の最初の文字は z で、z で始まる漢字は 900 ページ以上あります。この手がかりがあれば、検索には 1 分しかかかりません。漢字の場合、これは性別の重要性を示しています。
インデックスは、列內(nèi)の特定の値を持つ行をすばやく検索するために使用されます。
インデックスを使用しない場合、MySQL は最初のレコードから開始して、関連する行が見つかるまでテーブル全體を読み取る必要があります。テーブルが大きいほど時間がかかります。テーブル內(nèi)のクエリ対象のカラムにインデックスがある場合、MySQL はすべてのデータを調(diào)べることなく、データ ファイルの中央を検索する段階にすぐに到達(dá)できます。
もちろん、インデックスの數(shù)が多すぎると、修正速度が遅くなります。変更されたデータを書き込むときは、インデックスも変更する必要があるためです。
MySQLインデックスタイプ
インデックスタイプ | 機(jī)能説明 |
---|---|
通常のインデックス | 最も基本的なインデックスであり、制限はありません |
一意のインデックス | 特定の行一意のインデックスを使用しますこの列の行データ內(nèi)で重複する値は許可されません。この列のデータの各行は一意である必要があります |
主キー インデックス | これは、NULL 値を許可しない特別な一意のインデックスです。通常、主キーインデックスはテーブル作成時に同時に作成され、ユーザーIDに使用されることが多いです。本のページ番號に似ています |
全文インデックス | グローバル検索が必要なデータについては、全文インデックスを?qū)g行します |
注: 12.7 を完了した後で、次の部分を?qū)W習(xí)してください。
通常のインデックス
タイプ | 詳細(xì)な説明 |
---|---|
基本構(gòu)文 | テーブルテーブルの追加インデックス(フィールド) |
例 | ALTER TABLE お金 A DD Index ( Username ); money ADD INDEX(username ); |
示例解釋 | 為money表的username字段增加索引 |
唯一索引
類型 | 詳細(xì)說明 |
---|---|
基本語法 | alter table 表 add UNIQUE(字段) |
示例 | ALTER TABLE money ADD UNIQUE(email |
Money テーブルのユーザー名フィールドはインデックスを増加させます |
money
ADD UNIQUE(email
); 例の説明????マネーテーブルの電子メールフィールドに一意のインデックスを追加します????????全文インデックス
タイプ | 詳細(xì)な説明 |
---|---|
基本構(gòu)文 | alter table add FULLTEXT(field) |
例 | ALTER TABLE moneyコード> A DD FULLTEXT ( |
示例解釋 | 為money表的content字段增加唯一索引 |
主鍵索引
類型 | 詳細(xì)說明 |
---|---|
基本語法 | alter table 表 add PRIMARY KEY(字段) |
示例 | ALTER TABLE money ADD PRIMARY KEY(id ); |
例の説明 | 金額テーブルのコンテンツフィールドに一意のインデックスを追加します |
主キーインデックス
Type
詳しい説明
基本構(gòu)文alter table table add PRIMARY KEY (field)
マネーテーブルの場合 id フィールドは主キーインデックスを追加します
test
(
id
INT NOT NULL ,
username
VARCHAR(20) NOT NULL ,
password
INT NOT NULL ,
content
例id
ALTER TABLEmoney
ADD PRIMARY KEY(password
);username
content
例の説明
test
(?? ?? INT NOT NULL , ?? ?? VARCHAR(20) NOT NULL , ?? ?? INT NOT NULL , ?? ?? INT NOT NULL , ??
主キー (??)、??
INDEX pw (??)、??
ユニーク (??)、??
全文 (??)??
) エンジン = InnoDB;??????