- İndeksler, belirli bir değeri olan satırları daha hızlı bulmak için kullanılırlar.
- İndeks olmazsa, MySQL birinci kayıttan başlayarak, ilgili kayıtları bulana kadar tablonun sonuna kadar gitmek zorunda kalır. Indeksler sayesinde rasgele tarama yapılabilir.
- İstenirse, kolonun tamamı değil sadece belirli bir kısmı da indekslenebilir.
- Text/Blob tipi alanların tamamı değil sadece bir kısmı indekslenebilir.
- Text/Blob alanların tamamını indekslemek için fulltext isimli özel bir indeks tipi kullanılabilir.
- Bir tabloda en fazla 32 kolonda indeks oluşturulabilir.
- Bir indeks birden fazla kolonu kapsayacak şekilde de yapılabilir. Bir indeks en fazla 15 kolonu kapsayabilir. Çoklu indeks, içerdiği kolonları kapsayan AND işlemleri sırasında kullanılır.
- MySQL'in indeksi kullanması tablonun %30'undan fazlasına erişmesini gerektirecekse, o zaman MySQL var olmasına karşın indeksi kullanmamayı tercih edecektir. Çünkü böyle bir sorguda, sıralı arama yapmak büyük olasılıkla rasgele aramadan daha hızlı olacaktır.
Indekslerin Kullanıldığı Sorgular
- WHERE ifadesine uyan satırları hızlıca bulmak
- Belirli bir kolonun MAX() ve MIN() değerlerini bulmak
- Sıralama ve gruplama işlemleri
- Join işlemleri için diğer tablolardan satırları almak
- Wildcard ile başlamayan LIKE ifadelerinde
Dia
okanatabag@gmail.com
19 Kasim 2006 15:32