MongoDB Index Oluşturma, Index Kullanmanın Avantajları Dezavantajları

Index Nedir?

Veritabanında bir değer arattığımız zaman, ilgili değerleri bulabilmek için kayıtların tamamına sırayla tek tek bakılır (table scan). Collection’ımızda (tablomuzda) birkaç yüz document(kayıt) var ise, tüm kayıtların tek tek bakılması çok fazla zaman kaybı yaratmayacaktır. Fakat collection’ımızdaki (tablomuzdaki) document (kayıt) sayısı milyon seviyelerindeyse, aranan değer için tüm document’lara bakılması,  sonucun gelmesini çok fazla geciktirecektir. Sorgularda tablonun baştan sona tamamının taranmasını engellemek için RDBMS’lerde de kullandığımız Index’ler oluştururuz.

Table Scan ile Index Arasındaki Performans Farkı

Continue reading

MongoDB remove() VS drop() PERFORMANS FARKI

remove(): Collection içinde bulunan tüm document’ları tek tek siler.

drop(): komple collection’ı veritabanından kaldırır. Eğer collection’daki tüm verileri sileceksek ( indexler dahil) drop() kullanmanızı tavsiye ederim, çünkü çok daha hızlıdır.

Aradaki performans farkını ölçmek için bir milyon kayıtlı iki adet farklı collection oluşturup, birinci collection’nın verisini remove() ile, diğer collection’nın verisini drop() ile silip, iki işlem arasındaki zamanı aşağıdaki işlemle kıyaslıyoruz.

Continue reading