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 をインストールする方法
CentOS 8 ではソフトウェア パッケージのインストール プログラムが変更され、yum 構成方法...
質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...
SQL の基礎知識がある友人は、「クロステーブル クエリ」について聞いたことがあるはずですが、クロス...
MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...
特記事項:この記事は、Chris Spooner の英語記事「Web デザイン用の Retina グ...
CN2ラインとは何ですか? CN2 は、China Telecom Next Carrier Ne...
目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...
目次序文ステップ1: セットアップと前方屈折ステップ2: 反射とフレネル方程式ステップ3: 多面屈折...
Docker を使用して Angular プロジェクトをデプロイする方法は 2 つあります。1 つは...
目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...
Ubuntu 20.04 をインストールした後、デフォルトでは root アカウントのログイン権限が...
さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...
1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...
以下は、mysql 5.7 の /etc/my.cnf の一般的なパラメータの一部です。これらを自分...
環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...