I.はじめにインデックス
インデックスの1概念
データベースの検索インデックスが作成されたいくつかのフィールドでテーブルの効率化と価値向上させることにあるディレクトリを。
2.インデックスの役割
- 大幅にクエリの速度データ(メインインデックスの作成)を加速します
- Ioは、データベースのコストと発注コストを削減します
- 制約するために、データベース内のデータを(一意のインデックスは、データの一意性を保証するため)
- テーブルとテーブルの間の接続を高速化
3.価格支払わ指数を確立
- データベースのストレージ容量を増やします
- あなたが挿入し、変更する場合には時間がかかります
4.分類インデックス
- 一般的な指標
- 唯一のインデックス:フィールドの値が一意である必要があります
- 主キーのインデックス:自動的に主キーが作成された特別な一意のインデックスを作成します
- フルテキストインデックス:タイプFULLTEXT、char型、varchar型、テキストなどのシリーズでのみ作成
5.インデックス作成の原則
- プライマリ、外部キーがインデックス化されなければなりません
- レコードの300の以上のデータテーブルは、インデックスを作成する必要があります
- 多くの場合、インデックスを作成する必要がありますWHERE句フィールドに表示されます
- テキストフィールドのインデックス、長いフィールドを回避しようと、小さなフィールドにインデックスを構築しよう
- 貧しいフィールド上の唯一のインデックスは、(など、性別、年齢、など)ではありません
- インデックスは、頻繁にフィールドに更新されていません
CRUDの第二に、インデックス
1.インデックスを作成します。
;インデックス `indexname` on`のtablename`(` columnname`)|作成[全文ユニーク]:コモン(シングル、フルテキスト)のインデックスを作成します。
主キーのインデックスを作成します。テーブルを変更 `プライマリキー(` columnname`)を追加tablename`。
2.インデックスの削除
一般的な(ユニーク)インデックスを削除します。
ALTER TABLEの`table_nameの` DROPのINDEX index_nameは、
ON DROP INDEX index_nameはtalbe_name` `;
プライマリインデックスをドロップします。
ALTER TABLEの`table_nameは` DROP PRIMARY KEYを。
3.変更インデックス
私は、一般的には、削除、追加、特定のステートメントを使用していません。
4.チェックインデックス
tablename` `からインデックスを示し;
Gが縦に表示することができます `tablename`の\ Gの#1プラス\インデックス情報、コマンドラインからショーキー
第三に、インデックスの最適化
1.コンピューティングに関わる機能やインデックスフィールドを使用しないでください。
(名)= 'zhangsan' を逆TB1から選択*;
名前は=( 'zhangsan')逆TB1から選択*;
TB1から*を選択する場所NUM + 3> 100;
TB1から選択*ここでnumは> 100 -3;#例は非常に適切ではありません
2.特に「%インデックス」のような、のようなインデックスフィールドを使用しないでください
どこ名「%の白」のようなTB1から選択*;
「李%」のようなTB1名から選択*;
3.インデックスフィールドタイプは、入力フィールドと一致することが
TB1から*を選択する場所名= 123;
TB1から選択*ここで、NAME = '123';引用符で#NAME型VARCHAR、入力値
4.左端の共同屈折率整合の原則に従ってください
インデックスON S1は、(電子メールで、名前)を作成しますix_name_email
----左端の先頭の試合:左から右への順序と一致する必要があります
選択*からS1どこのメール=「空自」; #は不可以
名= 'zhangsan S1' SELECT * FROM。#可以
どこ名= 'zhangsan'とメール= '空自S1' SELECT * FROM。#可以