Yorumları: 261
Konuları: 25
Kayıt Tarihi: 01-02-2017
Rep Puanı: 1.383
Programcı
Merhabalar,
Evet, Unigui'de kullanılan componentlerin Fetch özelliği olmadığından dolayı veritabanından çektiğiniz tüm kayıtlar client'e yüklenecektir.
Mesela Grid kullandığınızı varsayalım, Grid içine tüm kayıtlar yüklenir. Grid'in sayfalama özelliğini kullandıysanız da her sayfaya geçtiğinizde zaten yüklenmiş olan kayıtları gösterir.
Yani grid'in her sayfasına geçtiğinizde gidip de server'dan yeniden kayıt okuma yapmaz.
Kolay gelsin.
E.O.F. (End Of Fun )
Yorumları: 521
Konuları: 59
Kayıt Tarihi: 27-02-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 852
Acemi
Grid icerisinde fetch All ozelligi mevcut olduğunu gördüm. Anladığım kadarıyla Dataset dışında herhangi bir bileşen kullanmadan sadece dataset i açtığımızda da verilerin tamamı yükleniyor.
Teşekkürler.
Yorumları: 261
Konuları: 25
Kayıt Tarihi: 01-02-2017
Rep Puanı: 1.383
Programcı
Doğrudur, benim bahsettiğim fetch özelliği o değil. Mesela Intraweb'de TMS component paketinin FetchLoad özelliği var. Sayfayı aşağı kaydırdıkça yeni kayıtların server'dan yüklenmesi olayı. Unigui'nin grid'indeki fetchall o şekilde değil. Aslında tüm kayıtlar dataset içinde mevcut, yani client'a indirilmiş oluyor. Sadece grid üzerindeki gösterimi ile ilgili olarak fetch ayarı yapabiliyorsunuz. Ama yine de tüm kayıtlar gelse bile, unigui'nin grid sayfalama performansı gayet iyi. Sorunsuz kullanabilirsiniz.
E.O.F. (End Of Fun )
Yorumları: 521
Konuları: 59
Kayıt Tarihi: 27-02-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 852
Acemi
Öncelikle teşekkür ederim ilginize,
On Binlerce kaydı çekmeniz gerektiği durumlarda nasil bir yöntem izliyorsunuz? query de limit leme yapip sayfalama özelliğini veriyi çekerken mi yapıyorsunuz mesela.
Çünkü bu durum 100 lerce kullaniciya çıkınca sorun oluşturmaya başlayacaktır diye düşünüyorum.
Yorumları: 261
Konuları: 25
Kayıt Tarihi: 01-02-2017
Rep Puanı: 1.383
Programcı
Merhaba,
Öncelikle ben unigui ile normal web uygulaması değil de, mobil web uygulamaları geliştiriyorum. Onbinlerce kaydı çekmek gereken bir durum pek yaşamadım, normal bir web uygulamasında da onbinlerce kaydı birden çekecek bir kullanım pek hayal edemedim. Normal şartlarda, kayıtları sorguladığım ekrana Tarih-saat seçme diyalogları koyarak iki tarih arasındaki kayıtları filtreleyerek getiriyorum. Başka türlü filtreler de konulabilir. İsim listeleri için, sunucuyu fazla yormasın diye veritabanı tablom'dan sadece ID ve ISIM alanlarını çekiyorum, böylece hızlı geliyor. O isim seçildiğinde, seçili ID numarasına göre yeniden sorgulama yapıyorum. Bu sefer yine sadece gerekli alanları çekip performans artışı sağlıyorum.
Yani sadece gerektiği zaman gerektiği yerde gerektiği kadar sorgulama yaparak işimi çok rahat görebiliyorum. Siz de onbinlerce kaydı birden çekip sorgulama yapacağınıza, önce filtrelere göre sorgulayıp, sorgudan sonra dönen kayıtları dataset'e çekerseniz daha iyi olur kanaatindeyim.
Kolay gelsin.
E.O.F. (End Of Fun )
Yorumları: 521
Konuları: 59
Kayıt Tarihi: 27-02-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 852
Acemi
Teşekkür ederim Ramazan bey,
Normalde filtrelemeden tüm kayıtları çağırmıyorum. Ama böyle bir senaryo gerçekleşirse unigui de durum ne olur ve nasıl bir yol izlemek gerekiyor onu merak etmiştim.
Yorumları: 521
Konuları: 59
Kayıt Tarihi: 27-02-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 852
Acemi
Merhabalar,
Misal mevcut programlardan birisini unigui geçirdik diyelim(Tüm müşterilerin verileri tek bir database de durması lazım.müşteri kodu ile herbiri birbirinden ayrıştırılır.).
Müşterim masaüstü programa verileri girmiş olacak. ticari bir programda bu 10 binlerce kayıt demek olacak. Benim her müşteri için tek tek verileri aktarmam kendime ek iş çıkarmak olacaktır. Onun yerine bir bölüm ekleyip. kullanıcı login olduktan sonra kendisi eski verileri servera alip (program içerisinde upload modulü hazirlayip) oradan kayitlari sisteme aktarmasi daha mantikli olur düşüncesindeyim.
Burada 2 sorun ortaya çıkabilir diye düşünüyorum
1- unigui upload işlemi yaparken büyük verilerde nasıl davranır ve kaynak tüketimi nasıldır?
2- Masaüstü programının verileri upload olduktan sonra unigui içinden ikinci bir baglantı açılıp bu database e bağlanılması ve verilerin tek tek aktarılması. Söylediğim 10 binlerce kayıt olayı ortaya burada çıkıyor.
Aktarım işleminde benim ilk aklıma gelen yöntem ilgili tabloya baglanıp , sonrada döngüye alarak tüm verileri yeni tabloya insert etmek oldu.
Bu işlemde tabiki fazlaca kaynak kullanımı demektir.