Ben Kimlik Harita deseni ile veri Mapper deseni hayata geçirdik. Kısacası: Ben veritabanından 2000 nesneleri olmasını istediğiniz zaman, mapper zaten nesneler oluşturulan başvurular içeren bir karma haritada karşı sonuç kümesini denetler. Id karma haritada zaten ise, eski nesne yerine dönüş diziye eklenir. Aksi takdirde yeni bir nesne oluşturulur ve dönüş diziye eklenir. Return array 2000 nesneler içerir.
Not: Bu sayılar teorik vardır! Platform son derece uğrak olabilir, bu nedenle bu dakikada hatta ikinci birçok kez oluşabilir.
Soru: seçenek, neden daha iyi ve?
A) veritabanındaki tüm nesneleri 2000 al. Kayıt kümesi (2000 satır) üzerinde yineleme ve kimlik haritada karşı her kimliği kontrol. Bu orada varsa, nesne diziye kimlik haritanın başvurulan nesnesi ekleyin. Eğer değilse, yeni bir nesne oluşturmak ve sonuç diziye ekleyin.
B) kimlik harita tüm id dışlayan bir (belki BÜYÜK) sql sorgusu oluşturun. Yeni nesneler için sadece veri içeren bir kayıt kümesi olsun. Her satır için kimlik haritayı kontrol etmeden yeni nesneler oluşturun. Sorguyu oluşturmak için dize birleştirme işlemleri bir çok birleştirir, ama karma harita aramalarının bir sürü kaydedebilirsiniz.
Which approach would you take? (yes I know, I should just implement both versions and make a performance test, but maybe someone can answer this from practical experience)