Rumah >pangkalan data >tutorial mysql >apakah perbezaan antara indeks mysql

apakah perbezaan antara indeks mysql

WBOY
WBOYasal
2022-02-17 11:54:256816semak imbas

Perbezaan: 1. Nilai lajur indeks indeks unik mestilah unik, dan nilai nol dibenarkan 2. Nilai indeks indeks kunci utama mestilah unik, tetapi nilai nol adalah tidak dibenarkan; 3. Indeks gabungan hanya boleh digunakan dalam keadaan pertanyaan Indeks akan digunakan hanya apabila medan pertama digunakan semasa membuat indeks digunakan; .

apakah perbezaan antara indeks mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Apakah perbezaan antara indeks mysql?

jenis indeks mysql:

Indeks kunci utama: Perbezaan antara indeks unik dan indeks unik ialah nilai nol tidak dibenarkan semasa membuat kunci utama Indeks ini dibuat secara automatik.

Indeks biasa: Indeks paling asas, tiada sekatan khas.

Indeks unik: Perbezaan daripada indeks biasa ialah nilai lajur indeks mestilah unik, tetapi ia boleh mempunyai nilai nol.

Indeks teks penuh: Hanya boleh digunakan dalam jadual menggunakan enjin storan Myisam, untuk lajur data yang lebih besar.

Indeks gabungan: merujuk kepada indeks yang dibuat pada berbilang medan Indeks akan digunakan hanya jika medan pertama semasa membuat indeks digunakan dalam keadaan pertanyaan. Apabila menggunakan indeks gabungan, ikuti set awalan paling kiri

Contoh adalah seperti berikut:

1 Indeks biasa

adalah yang paling banyak indeks asas Tiada sekatan. Ia mempunyai kaedah penciptaan berikut:

(1) Buat indeks terus

CREATE INDEX index_name ON table(column(length))

(2) Tambah indeks dengan mengubah suai struktur jadual

ALTER TABLE table_name ADD INDEX index_name ON (column(length))

( 3 ) Apabila mencipta jadual, cipta indeks

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    INDEX index_name (title(length))
)

(4) Padamkan indeks

DROP INDEX index_name ON table

2. Indeks unik

adalah sama seperti yang sebelumnya Indeks biasa adalah serupa, kecuali nilai lajur indeks mestilah unik, tetapi nilai nol dibenarkan. Dalam kes indeks komposit, gabungan nilai lajur mestilah unik. Ia mempunyai kaedah penciptaan berikut:

(1) Cipta indeks unik

CREATE UNIQUE INDEX indexName ON table(column(length))

(2) Ubah suai struktur jadual

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))

(3) Cipta Jadual Nyatakan terus

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    UNIQUE indexName (title(length))
);

3. Indeks kunci utama

ialah indeks unik khas Sesuatu jadual hanya boleh mempunyai satu kunci utama dan tiada nilai nol dibenarkan. Secara amnya, indeks kunci utama dicipta pada masa yang sama semasa mencipta jadual:

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) NOT NULL ,
    PRIMARY KEY (`id`)
);

4 Indeks gabungan

merujuk kepada indeks yang dibuat pada berbilang medan. , yang hanya boleh digunakan dalam keadaan pertanyaan Indeks akan digunakan hanya jika medan pertama yang digunakan semasa membuat indeks digunakan. Apabila menggunakan indeks gabungan, ikut set awalan paling kiri

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

5. Indeks teks penuh

digunakan terutamanya untuk mencari kata kunci dalam teks, dan bukannya secara langsung dalam nilai indeks dibandingkan. Indeks teks penuh sangat berbeza daripada indeks lain Ia lebih seperti enjin carian dan bukannya padanan parameter ringkas pernyataan where. Indeks teks penuh digunakan dengan padanan melawan operasi dan bukannya pernyataan umum di mana tambah suka. Ia boleh digunakan dalam membuat jadual, mengubah jadual dan mencipta indeks, tetapi pada masa ini hanya indeks teks penuh boleh dibuat pada lajur char, varchar dan teks. Perlu dinyatakan bahawa apabila jumlah data adalah besar, adalah lebih baik untuk meletakkan data ke dalam jadual tanpa indeks global dan kemudian gunakan indeks CREATE untuk mencipta indeks teks penuh daripada mula-mula membuat teks penuh untuk jadual dan kemudian tulis data ke dalamnya.

(1) Ia sesuai untuk menambah indeks teks penuh semasa membuat jadual

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    FULLTEXT (content)
);

(2) Ubah suai struktur jadual untuk menambah indeks teks penuh

ALTER TABLE article ADD FULLTEXT index_content(content)

(3) Buat indeks terus

CREATE FULLTEXT INDEX index_content ON article(content)

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci apakah perbezaan antara 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
Artikel sebelumnya:apakah kunci asing dalam mysqlArtikel seterusnya:apakah kunci asing dalam mysql