Yüksek miktarda sonuç kaydı döndüren veri kaynakları üzerinde gezinti (navigation)

Top  Previous  Next

Eğer "Bir Sayfadaki Kayıt Miktarı" ve "Bir Bloktaki Sayfa Miktarı" özelliklerini tanımladığınız veri kaynağı çok yüksek miktarda sonuç kaydı üretiyorsa bu veri kaynağı üzerinde sonraki sayfaya git, önceki sayfaya git türünde gezinti yapmak bile bazen saniyeler sürebilir ve bu can sıkıcı olabilir.

Bunun nedeni:

RelDBQueryDataSource istenilen sayfa için kesit veriyi oluşturduktan sonra sorgu sonuç kümesini ve veritabanı bağlantısını serbest bırakır. Bir sonraki bloğun gösterilmesi istendiğinde tekrardan bağlantı kurar, sorguyu çalıştırır ve istenilen veri kesitini oluşturup yine sonuç kümesini ve bağlantıyı serbest bırakır. Bu da sonuç kümesinde yer alan kayıt miktarı yüksek olduğunda yavaşlamaya neden olur.

Çözüm:

Bu yavaşlamayı engellemek için RelDBQueryDataSource verikaynağına sonuç kümesini ve bağlantıyı bir süreliğine korumasını söyleyebilirsiniz. Bunun için "Yenileme Zaman Aralığı" özelliğine bir değer girerek kullanıcının gezinti komutularını bu süre dolmadan kullanması durumunda sonuç kümesinin ve bağlantının korunmasını sağlayabilirsiniz. Belirlenen süre içinde kullanıcıdan bir gezinti komutu alınmaz ise sonuç kümesi ve bağlantı otomatik olarak serbest bırakılacaktır.

Sağlanan bu fonksiyonu kulanırken dikkatli olmanız ve bu süreyi yüksek tutmamanız önerilir. Çünkü bu fonksiyon gezintiyi hızlandıracak ama bunun karşılığında da yüksek miktarda bellek kullanımına neden olacaktır.