Rumah  >  Artikel  >  pangkalan data  >  Apakah kegunaan kata kunci indeks mysql

Apakah kegunaan kata kunci indeks mysql

青灯夜游
青灯夜游asal
2022-03-01 15:40:584749semak imbas

Dalam mysql, kata kunci indeks boleh digunakan untuk mencipta indeks, sintaks "CREATE INDEX index name ON table name (column name)"; ia boleh digunakan untuk melihat indeks, sintaks "SHOW INDEX FROM table name"; ia juga boleh digunakan Untuk mengubah suai indeks, sintaksnya ialah "DROP INDEX index name ON table name".

Apakah kegunaan kata kunci indeks mysql

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Dalam mysql, indeks merujuk kepada indeks, iaitu struktur pangkalan data khas yang terdiri daripada satu atau lebih lajur dalam jadual data .

Kata kunci indeks boleh digunakan untuk membuat indeks, melihat indeks atau mengubah suai indeks.

kata kunci indeks mencipta indeks

Anda boleh menggunakan pernyataan CREATE INDEX khusus untuk mencipta indeks untuk mencipta indeks pada jadual sedia ada, tetapi pernyataan ini tidak boleh mencipta primer kunci .

CREATE INDEX 索引名 ON 表名 (列名 [长度] [ASC|DESC])
  • 020631f93e253fefdb1df0cc4191bfc2: Nyatakan nama indeks. Berbilang indeks boleh dibuat pada jadual, tetapi setiap indeks mempunyai nama unik dalam jadual.

  • b9139fefafd75e66468360eba6300313: Tentukan nama jadual untuk mencipta indeks.

  • 6d2dabee2866c6b319a6ffcc4d58d836: Tentukan nama lajur untuk mencipta indeks. Anda biasanya boleh mempertimbangkan untuk menggunakan lajur yang kerap muncul dalam klausa JOIN dan klausa WHERE dalam pernyataan pertanyaan sebagai lajur indeks.

  • b34bf0aa39479b36c85de63227d9c639: Pilihan. Menentukan bahawa aksara panjang sebelum lajur digunakan untuk mencipta indeks. Mencipta indeks menggunakan sebahagian daripada lajur boleh membantu mengurangkan saiz fail indeks dan menjimatkan ruang yang diduduki oleh lajur indeks. Dalam sesetengah kes, hanya awalan lajur boleh diindeks. Panjang lajur indeks mempunyai had maksimum 255 bait (1000 bait untuk jadual MyISAM dan InnoDB Jika panjang lajur indeks melebihi had ini, ia hanya boleh diindeks menggunakan awalan lajur. Selain itu, lajur jenis BLOB atau TEKS juga mesti menggunakan indeks awalan.

  • ASC|DESC: Pilihan. ASC menentukan bahawa indeks diisih dalam tertib menaik, DESC menentukan bahawa indeks diisih dalam tertib menurun, dan lalainya ialah ASC.

Sebagai contoh, untuk menambah indeks baharu bagi lajur c4, gunakan pernyataan berikut:

CREATE INDEX idx_c4 ON t(c4);

Secara lalai, jika jenis indeks tidak dinyatakan, MySQL akan mencipta indeks B -Tree.

indeks paparan kata kunci indeks

SHOW INDEX FROM 表名 [FROM 数据库名]

Sintaks adalah seperti berikut:

  • 5189509cd779c6f738e8935611a07b70: Nyatakan Nama jadual data yang indeksnya perlu dilihat.

  • 2f09865a8a7c797b2b0ddbe74c2b339b: Tentukan pangkalan data di mana jadual data tempat indeks perlu dilihat terletak, yang boleh ditinggalkan. Sebagai contoh, ujian SHOW INDEX FROM student FROM bermaksud untuk melihat indeks jadual data pelajar dalam pangkalan data ujian.

Contoh:

mysql> SHOW INDEX FROM tb_stu_info2\G
*************************** 1. row ***************************
        Table: tb_stu_info2
   Non_unique: 0
     Key_name: height
 Seq_in_index: 1
  Column_name: height
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.03 sec)

Parameter utama diterangkan seperti berikut:

参数 说明
Table 表示创建索引的数据表名,这里是 tb_stu_info2 数据表。
Non_unique 表示该索引是否是唯一索引。若不是唯一索引,则该列的值为 1;若是唯一索引,则该列的值为 0。
Key_name 表示索引的名称。
Seq_in_index 表示该列在索引中的位置,如果索引是单列的,则该列的值为 1;如果索引是组合索引,则该列的值为每列在索引定义中的顺序。
Column_name 表示定义索引的列字段。
Collation 表示列以何种顺序存储在索引中。在 MySQL 中,升序显示值“A”(升序),若显示为 NULL,则表示无分类。
Cardinality 索引中唯一值数目的估计值。基数根据被存储为整数的统计数据计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL 使用该索引的机会就越大。
Sub_part 表示列中被编入索引的字符的数量。若列只是部分被编入索引,则该列的值为被编入索引的字符的数目;若整列被编入索引,则该列的值为 NULL。
Packed 指示关键字如何被压缩。若没有被压缩,值为 NULL。
Null 用于显示索引列中是否包含 NULL。若列含有 NULL,该列的值为 YES。若没有,则该列的值为 NO。
Index_type 显示索引使用的类型和方法(BTREE、FULLTEXT、HASH、RTREE)。
Comment 显示评注。

index关键字修改索引

DROP INDEX <索引名> ON <表名>

语法说明如下:

  • b493f009a433abb929a361542484fbbf:要删除的索引名。

  • a26d98d33123a70024fa8ba5642906c6:指定该索引所在的表名。

说明:

在 MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作。

【相关推荐:mysql视频教程

Atas ialah kandungan terperinci Apakah kegunaan kata kunci indeks mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn