インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並べ替えに使用できるフィールドは、データの物理アドレスをインデックス化することで、すばやく検索できます。 インデックス分類 1. 通常のインデックス: 制約なし。主にクエリの効率を向上させるために使用されます。 2. ユニークインデックス(UNIQUE):通常のインデックスに基づいてデータの一意性制約を追加します。複数のインデックスが存在する場合があります。 3. 主キーインデックス:主キーインデックスは、ユニークインデックスに基づいて非NULL制約を追加します。つまり、NOT NULL+UNIQUEであり、1つしか存在できません。 4. 全文インデックス (FULLTEXT): MySQL の組み込み全文インデックスは英語のみをサポートします。 一般的には、ES(ElasticSearch)などの専用の全文検索エンジンが使用される。 インデックスを作成 #通常のインデックス ALTER TABLE テーブル名 ADD INDEX インデックス名 (column_list); #ユニークインデックス ALTER TABLE テーブル名 ADD UNIQUE インデックス名 (column_list); #主キーインデックス ALTER TABLE テーブル名 ADD PRIMARY KEY インデックス名 (column_list); #全文インデックス(文字列データ型) ALTER TABLE テーブル名 ADD フルテキスト インデックス名 (column_list); #インデックスを表示 学生からのインデックスを表示 \G ここでは、セミコロン終端文字の代わりに \G が使用され、出力データ情報がフォーマットされます。 #インデックスを削除 テーブルを変更してインデックスを削除します ALTER TABLE テーブル名 DROP INDEX インデックス名; 主キーインデックスを削除する ALTER TABLE テーブル名 DROP PRIMARY KEY; インデックス列が 1 列の場合、それは単一のインデックスです。 どのような状況でインデックスを作成できますか? 1. フィールドの値には、idなどの一意性の制約があります。 2. 特にデータテーブルが大きい場合にWHEREクエリ条件として頻繁に使用されるフィールド
3. GROUP BYとORDER BYを頻繁に実行する必要がある列 4. UPDATEとDELETEのWHERE条件列も通常はインデックスを作成する必要がある
5.DISTINCTフィールドにはインデックスを作成する必要がある 6. 複数テーブルのJOIN操作を実行する場合、インデックスを作成するときに次の原則に注意する必要があります。
インデックスを作成する必要がないのはいつですか?
1. WHERE 条件 (GROUP BY および ORDER BY を含む) で使用されないフィールドにはインデックスを作成する必要はありません。 2. テーブルのレコード数が少なすぎる場合 (たとえば、1,000 行未満) は、インデックスを作成する必要はありません。 3. フィールドに大量の重複データがある場合、性別フィールドなどのインデックスを作成する必要はありません。 4. 頻繁に更新されるフィールドには、必ずしもインデックスを作成する必要はありません。データを更新する際には、インデックスも更新する必要があるためです。インデックスが多すぎると、インデックス更新時に負担がかかり、効率に影響します。 どのような状況でインデックスが失敗するのでしょうか? 1. インデックス列を式の計算や関数に使用すると失敗します。 2. WHERE 句で、OR の前の条件列にインデックスが付けられているが、OR の後の条件列にインデックスが付けられていない場合、インデックスは無効になります。 3. あいまいクエリにLIKEを使用する場合、式は%で始まることはできません。 4. インデックス列をNOT NULL制約に設定してみる
上記はMySQLインデックスの基本構文の詳細な内容です。MySQLインデックス構文の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: nginx の default_server 定義とマッチングルールの詳細な説明
目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...
数日前、Codepen で @Kyle Wetton が書いた、CSS ブレンディング モードと S...
目次1. ファイルをインポートする2. HTMLページ3. メインコード4. 画像をbase64に変...
My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...
この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...
序文日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更...
問題を見つける最近、以前のデータを入力していたときに、プログラムが突然次のエラーを報告しました。 [...
オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...
関連記事:初心者が学ぶ HTML タグ (5)導入された HTML タグは、必ずしも XHTML 仕...
目次1. JavaScriptを記述する場所2. JavaScriptでよく使われる入力文と出力文1...
ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...
目次1. データ操作言語 (DML) 2. データを追加する(挿入) 3. 既存のテーブルをコピーし...
まず、in() クエリについて説明します。 「High Performance MySQL」では、イ...
目次1. マップされた型2. マッピング修飾子3. キーの再マッピング4. さらなる探究序文: Ty...
プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...