Kategoriler
SQL

MySQL ile Index Eklemek

Indexler, belirli sütun değerlerine sahip satırları hızlı bir şekilde bulmak için kullanılır. Bir indeks olmadan, MySQL ilk satırla başlayıp ve ardından ilgili satırları bulmak için tüm tabloyu okur. Tablo ne kadar büyükse, maliyeti o kadar artar. Tabloda söz konusu sütunlar için bir index varsa, MySQL tüm verilere bakmak zorunda kalmadan veri dosyasının ortasında aranacak konumu hızla belirleyebilir. Bu, her satırı sırayla okumaktan çok daha hızlıdır.

MySQL indekslerinin çoğu (PRIMARY KEY, UNIQUE, INDEX ve FULLTEXT) B-trees ‘de saklanır. İstisnalar: Uzamsal veri türlerindeki indexler B-trees kullanır; MEMORY tabloları ayrıca hash indexlerini destekler; InnoDB, FULLTEXT indexleri için ters çevrilmiş listeler kullanır.

Söz Dizimi:
ALTER TABLE table_name ADD INDEX_TYPE `index_name` (column_name1, column_name2);
ALTER TABLE table_name ADD PRIMARY KEY(column_name);
ALTER TABLE table_name ADD UNIQUE(column_name);
ALTER TABLE table_name ADD INDEX(column_name);

Örnek:
ALTER TABLE orders ADD UNIQUE `index1` (SIPARIS_ID);
ALTER TABLE orders ADD INDEX `index2` (MUSTERI_ID,MUSTERI_NO);
ALTER TABLE orders ADD PRIMARY KEY(KAYIT_ID);
ALTER TABLE orders ADD UNIQUE(SIPARIS_ID);
ALTER TABLE orders ADD INDEX(MUSTERI_ID);