MySQL dizin türü:
1. Sıradan dizin
En temel indeksi, kısıtlaması yoktur ve sorguları hızlandırmak için kullanılır.
Oluşturma yöntemi:
. Masayı oluştururken birlikte oluşturulur
CREATE TABLE mytable (name VARCHAR (32), INDEX index_mytable_name (isim));
b. Tablo oluşturulduktan sonra, dizini doğrudan oluşturun
Mytable (ad) ÜZERİNDE INDEX index_mytable_name OLUŞTUR;
c. Tablo yapısını değiştirin
ALTER TABLE mytable ADD INDEX index_mytable_name (isim);
Not: Bu bir dize alanıysa, dizinin uzunluğunu da belirtebilirsiniz, yalnızca sütun komutundan sonra dizin uzunluğunu ekleyin (örneğin: ad (11))
2. Benzersiz dizin
Dizin sütununun değeri benzersiz olmalıdır, ancak boş değerlere izin verilir. Bileşik bir indeks ise, sütun değerlerinin kombinasyonu benzersiz olmalıdır.
Oluşturma yöntemi:
. Masayı oluştururken birlikte oluşturulur
CREATE TABLE mytable (`name` VARCHAR (32), UNIQUE index_unique_mytable_name (` name`));
b. Tablo oluşturulduktan sonra, dizini doğrudan oluşturun
Mytable (ad) ÜZERİNE BENZERSİZ INDEX OLUŞTURMA index_mytable_name;
c. Tablo yapısını değiştirin
ALTER TABLE mytable UNIQUE INDEX EKLE index_mytable_name (isim);
Not: Bu bir dize alanıysa, dizinin uzunluğunu da belirtebilirsiniz, yalnızca sütun komutundan sonra dizin uzunluğunu ekleyin (örneğin: ad (11))
3. Birincil anahtar dizini
Bu özel ve benzersiz bir dizindir. Bir tablonun yalnızca bir birincil anahtarı olabilir ve hiçbir boş değere izin verilmez. Genel olarak, birincil anahtar dizini, tablo oluşturulduğunda oluşturulur.
Oluşturma yöntemi:
. Masayı oluştururken birlikte oluşturulur
CREATE TABLE mytable (`id` int (11) NOT NULL AUTO_INCREMENT,` name` VARCHAR (32), PRIMARY KEY (`id`));
b. Tablo yapısını değiştirin
ALTER TABLE test.t1 SINIRLAMA EKLE t1_pk BİRİNCİL ANAHTAR (id);
Not: Bu bir dize alanıysa, dizinin uzunluğunu da belirtebilirsiniz, yalnızca sütun komutundan sonra dizin uzunluğunu ekleyin (örneğin: ad (11))
4. Birleşik dizin
Birden çok alanda oluşturulan bir dizini ifade eder. Dizin, yalnızca dizin oluşturulurken ilk alan sorgu koşullarında kullanıldığında kullanılacaktır. Bileşik dizinler kullanılırken en soldaki önek kümesini izleyin.
Oluşturma yöntemi:
. Masayı oluştururken birlikte oluşturulur
CREATE TABLE mytable (`id` int (11),` name` VARCHAR (32), INDEX index_mytable_id_name (`id`,` isim`));
b. Tablo oluşturulduktan sonra, dizini doğrudan oluşturun
Mytable (id, ad) ÜZERİNDE INDEX index_mytable_id_name OLUŞTUR;
c. Tablo yapısını değiştirin
ALTER TABLE mytable ADD INDEX index_mytable_id_name (id, isim);
5. Tam metin dizini
Dizindeki değerle doğrudan karşılaştırmak yerine esas olarak metindeki anahtar kelimeleri bulmak için kullanılır.
Tam metin dizini diğer dizinlerden çok farklıdır, basit bir where ifadesi parametresi eşleşmesinden ziyade bir arama motoruna benzer.
Tam metin indeksi, genel where ifadesi artı benzeri yerine, operasyona karşı eşleşmeyle bağlantılı olarak kullanılır.
Tablo oluşturmada, tabloyu değiştirmede ve dizin oluşturmada kullanılabilir, ancak şu anda yalnızca char, varchar ve metin sütunları tam metin dizinleri oluşturabilir.
Oluşturma yöntemi:
a. Tabloyu oluştururken birlikte oluşturulur
CREATE TABLE "Article" ("id" int (11) NOT NULL AUTO_INCREMENT, "title" char (250) NOT NULL, "content" text NULL, "create_at" int (10) NULL VARSAYILAN NULL, PRIMARY KEY ("id" ), FULLTEXT (içerik));
b. Tablo oluşturulduktan sonra, dizini doğrudan oluşturun
CREATE FULLTEXT INDEX index_article_contents ON makale (içerik);
c. Tablo yapısını değiştirin
ALTER TABLE makale ADD FULLTEXT INDEX index_article_contents (içindekiler);
sonuç olarak
İndeks sorgu verilerini artırabilse de güncelleme, oluşturma veya silme sırasında indeksi korumak gerekir ki bu performansı etkileyecektir, bu nedenle indeks fazla oluşturulamaz.