Hızlı bir ipucu verelim.

Diyelim ki çok büyük bir veritabanınız var. Bu tip veritabanlarında çok fazla view oluşturmak ne kadar sakıncalıdır biliyorsunuz. View index'lerinin kapladığı yer bir yana, bunların sürekli güncellenmesi sunucuda performans kaybına neden olacaktır.

Öte yandan öyle view'larınız vardır ki, haftada, ayda hatta yılda bir defa kullanmanız gerekir. Neden bu view'ların yükünü çekesiniz?

Sunucuda sürekli çalışan Update task'i bu view'ları sizin için 'öldürebilir'.

Image:İpucu: View index’lerini öldürmek...

Örneğin "After each use" derseniz, view'la işiniz bittikten sonra 1-2 saat içinde view index'i silinecek, siz bir daha o view'ı kullanana kadar oluşmayacaktır.

Image:İpucu: View index’lerini öldürmek...

Böyle bir ayar, özellikle agent'lar için ideal. 'Update' task'i bu görüntüleri güncellemek için bir kuyruk oluşturur. Normalde veritabanındaki değişiklikler o görüntüyü etkiliyorsa görüntü bu kuyruğa girer. Refresh seçeneğini 'manual' yaptığımızda güncellemeler otomatikman yapılmaz. Agent'ınız 'view.update' komutuyla görüntüyü günceller. İşimiz bittiğinde de view indeksleri silinecektir. Son tıkla da görüntü güncellemesini kendi kontrolümüze alıyoruz. Sıradan kullanıcı bu görüntünün view indeksleri varsa görüntüyü açabilecek, ama henüz indeks oluşturulmadıysa büyük beyaz bir boşluk görecek :)

View index'lerini bilmek, performansı yüksek uygulamalar geliştirmenin birinci adımıdır...

Aklıma geldi, yazayım dedim :)
Serdar Basegmez   |   Eylül 28 2012 08:45:00 AM   |    İpucu  Lotus Domino Designer  Uygulama Geliştirme    |  
  |   Sonraki   |   Önceki

Comments (2)

Gravatar Image
Serdar Basegmez    http://lotusnotus.com    10/07/2012 6:36:43 PM

Search de bir opsiyon. Çoğu zaman kaynak ve zaman olarak aynı. Fakat View'larda lookup yapabileme ve ordered result alabilmek önemli bir avantaj.

Gravatar Image
Selçuk Aygüney       09/29/2012 12:29:22 AM

Bu tür agent'larda ben view yerine NotesDatabase.Search kullanıyorum. Performansı üç aşağı beş yukarı "after each use" view'larıyla aynı denebilir. View listesinde de boşuna yer kaplamıyor.

Tabii amaç NotesViewEntry kullanarak kolon formüllerinin sonuçlarını kullanmaksa, o ayrı...