ホームページ >データベース >mysql チュートリアル >mysqlにはジョイントインデックスがありますか?
mysql にはジョイント インデックスがあります。ジョイント インデックスは、テーブル上の 2 つ以上の列フィールドのインデックス付けを指します。複合インデックスとも呼ばれます。ジョイント インデックスの後ろの列のみが実行される場合、検索時にインデックスがインデックスを作成する構文は、「テーブル名にインデックス インデックス名を作成 (フィールド名 1、フィールド名 2、...)」です。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
Mysql にはジョイント インデックスがあります
ジョイント インデックス: 複合インデックスとも呼ばれ、2 つ以上のインデックスを指します。テーブルのインデックス 複数の列フィールドにインデックスを付けます。
Mysql はインデックス内のフィールドを左から右に使用します。クエリではインデックスの一部のみを使用できますが、左端の部分のみを使用できます。たとえば、インデックスはキー インデックス (a,b,c) で、a | a, b | a, b, c の 3 つの組み合わせでの検索をサポートできますが、b と c の組み合わせでの検索はサポートしません。
# ヒント: ジョイント インデックスの背後にある列を検索する場合のみ、インデックスは何の効果もありません-- 用户表 CREATE TABLE `user` ( `id` int(4) NOT NULL COMMENT '主键ID', `name` varchar(4) NOT NULL COMMENT '姓名', `age` int(3) NOT NULL COMMENT '年龄', PRIMARY KEY (`id`) )
1. インデックスを作成します
上の図に示すように、User テーブルを作成しました。テーブルの name 列と age 列に結合インデックスを作成したい場合は、次の SQL を使用できます。create index index_name_age on user (name,age);ジョイントインデックス: テーブル名にインデックスインデックス名を作成します (フィールド名 1 ,フィールド名 2,...)
2. インデックスを削除します
作成されたジョイント インデックスが適切ではない場合は、次の SQL を使用してジョイント インデックスを削除できます:drop index index_name_age on user;または次のコマンドを使用します: alter table table namedropindexindex name
alter table user drop index index_name_age;
3.同じ名前のインデックスが存在する場合、エラーが報告されます。
結合インデックス (index_name_age) が作成されたと仮定し、再度インデックスを作成すると、次のエラーが報告されます。
Query : create index index_name_age on user (name,age) Error Code : 1061 Duplicate key name 'index_name_age'
4. インデックスの表示
インデックスを表示するための構文: テーブル名からインデックスを表示SHOW INDEX FROM USER;推奨学習:
以上がmysqlにはジョイントインデックスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。