MySQL のインデックスの種類 一般的に、次の 4 つのカテゴリに分類できます。
通常のインデックス これは最も基本的なインデックスであり、制限はありません。以下の方法で作成できます。 1. インデックスを作成する コードは次のとおりです。 mytable(username(length))にインデックスindexNameを作成します。 CHAR または VARCHAR 型の場合、長さはフィールドの実際の長さより短くてもかまいません。BLOB または TEXT 型の場合は、長さを指定する必要があります。以下でも同様です。 2. テーブル構造を変更する コードは次のとおりです。 ALTER mytable ADD INDEX [indexName] ON (username(length)) テーブル作成時に直接指定する テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, INDEX [インデックス名] (ユーザー名(長さ)) ); インデックスを削除するための構文は次のとおりです。 mytable のインデックス [indexName] を削除します。 ユニークインデックス これは、インデックス列の値が一意である必要があることを除いて、以前の通常のインデックスと似ていますが、null 値が許可されます。複合インデックスの場合、列の値の組み合わせは一意である必要があります。以下の方法で作成できます。 mytable(ユーザー名(長さ))に一意のインデックスindexNameを作成します。 テーブル構造を変更します。 ALTER mytable ADD UNIQUE [indexName] ON (username(length)) テーブルを作成するときは、直接指定します。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 一意の [indexName] (ユーザー名(長さ)) ); 主キーインデックス これは、null 値を許可しない特別な一意のインデックスです。通常、主キー インデックスはテーブルの作成時に作成されます。 コードは次のとおりです。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 主キー(ID) ); もちろん、ALTER コマンドを使用することもできます。注意: テーブルには主キーを 1 つだけ設定できます。 共同インデックス 単一列インデックスと複合インデックスを視覚的に比較するには、テーブルに複数のフィールドを追加します。 テーブルmytableを作成します( ID INT NULLではありません、 ユーザー名 VARCHAR(16) NOT NULL, 都市 VARCHAR(50) NOT NULL, 年齢 INT NOT NULL ); MySQL の効率をさらに高めるには、複合インデックスの作成を検討する必要があります。つまり、名前、都市、年齢を 1 つのインデックスに構築します。 コードは次のとおりです。 ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age); インデックスが使用されない状況 インデックスは常に効果的であるとは限りません。正しく操作しないと、インデックスの代わりにテーブル全体のスキャンが実行される可能性があります。Explain の possible_key、key_len、および key パラメータを使用すると、SQL ステートメントでインデックスが使用されているかどうかを分析できます。 以下の状況ではインデックスが失敗します
Explain を使用して、インデックスが使用されているかどうかをテストできます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法
js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...
目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...
概要: nginx リバース プロキシ jira を構成し、https を実装します。Tomcat ...
1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...
リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...
目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...
目次1 配列のフラット化とは何ですか? 2 JS標準ライブラリの配列フラット化メソッド3 フラットメ...
遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...
目次Oracle 分離レベルMySQL 分離レベル要約する多くの読者は、MySQL のトランザク...
Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...
起動していたDockerコンテナはメモリを使い果たした状態になっており、再起動せずにコンテナのメモリ...
GitHub アドレス: https://github.com/dmhsq/dmhsq-mysql-...
1. はじめにMYSQL の MDL ロックは常に頭痛の種でした。ロックについて話すとき、通常は I...
このセクションでは、HTML のリスト要素について学習します。リストは、Web サイトのデザインにお...