Javascript Table Searching
-
hocalarım şöyle bir sorunum var . Tablolarda 50-60 bin veri olacak . Benim en verimli şekilde bu tablodan veriyi filtrelemem gerekiyor... Kafamdaki sorular şu;
1- Bütün tabloyu sayfa load edildiğinde çeksem 50-60 bin datayı da Json Array'e atsam Arama işlemini o Json Array içeriisnde filtrelesem ? Ne gibi yanlışarım olur ( O sayfayı kullanacak kişi sayısı maksimum 10 kişidir )
2- Şu yapıyı kullansam https://codepen.io/adobewordpress/pen/gbewLV 50-60 bin datayı tabloda gösterdiğimde herhangi bir key girişinde Tablo kitlenir mi ? Sonuçta 50-60 bin data var.
3- Her key girişinde Like komutu ile Ajax a sürekli Tabloyu Ajax ile post ettirsem ? Örneğin A Girişi yapıldı Like komutu ile VT den A sorgusunu çalıştırıp çeksem dataları ? ( Bu sefer de Datalar azalacak şekilde bana verilecek bu da Sorgu süresi artacak Tablo geç yüklenecek)
Siz neler yapıyorsnuz ? Yada siz olsanız bu durumda hangi yolu seçerdiniz yada öneriniz ne olurdu ?
Yorumlar için teşekkürler..
MhmdAlmz tarafından 19/Eyl/16 13:53 tarihinde düzenlenmiştir -
50-60 bin veri fazlaca bir sayı jquery datatables kilitlenebilir belki denemekte fayda var ama.
-
Filtreli bir şekilde bunu ben kullanıcıya nasıl sunabilirim hocam ?
-
Bence 50bin datayı bir kerede çekip sunucuyu yorma, bunları array'e koyup client browser'ı yorma.
Bu datalar nasıl kullanılacak bilmiyorum ama 100'lü yada 500'lü yada 1000'li gruplar halinde sayfalama yap. En üste de arama kutusu koy.
Eğer arama yapılmış ve 10bin sonuç gelmişse aranmış halini sayfalama şeklinde göstert.
Yani anlatmak istediğim klasik search/pagination olayı.
---
Benim tercihim bu kadar büyük data ile çalışırken UX'i çok düşünmemek olurdu. Harf yazayım da ajaxla dönsün diyeceğime; kelime yazıp enter'a bastırırsın. Bence o kadar veriden sağlıklı sonuç dönmesi önemli.
-
Anladım hocam Sayfalama muhabbeti zaten var fakat bu sonuçları görmesi gerekiyor Sürekli keyup değil de search button bastırmak mantıklı olabilir dediğin gibi bakalım başka bir algoritma çıkmaz ise dediğinizi uygulayacağım başka kaçar yolu yok gibi gözüküyor
-
Bütün veriyi tarayıcya döküp javascript ile işlem yaotırma. Tarayıcı kilitlenebilir. İlgili verileri her defasında sorgulat bir şey olmaz.
-
ontedi bunu yazdı
Bütün veriyi tarayıcya döküp javascript ile işlem yaotırma. Tarayıcı kilitlenebilir. İlgili verileri her defasında sorgulat bir şey olmaz.
Önerin ne abi :) ne yapmam gerek bu durumda
-
json ile getirip jquery datatable e bas 25 30.000 civarı kaydı basıyorum column filter var sıkıntı yaşamadım.
Ancak bana kalırsa bu kadar row getirmemeye çalış :D sorguyu filtreleyemiyormusun ? biraz daha az kayıt gelcek şekilde ?
-
SQL sorgusunu çalıştırdığın yerde MySQL ise LIMIT, MSSQL ise FETCH kullanarak daha verimli sonuçlar elde edebilirsin.
-
@SSH abi tablo kitlenmese sıkıntı yok denemediğim için soruyorum çünkü tüm tabloları class mantığında yaptığım için alayı gümleyecek :D Hepsi değişiyor çünkü birini değiştirince...
@otedi Abi Limit fetch vs işimi görmüyor ki yani minimum 40 bin datayı göstereceğim o kesin .. öyle istiyorlar.
Şöyle birşey sundum. Örneğin bi Search yapıldığında Limit 10 diyip sadece 10 kayıdı göstereyim dedim yok dediler :D Öyle olsa Like ile gene bitiririm işi ama adam a ya sonra b ye bastığında 2 adet sorgu ve bu sorgudan gelecek minimum data 30+10 gibi bişey olur ve 2 sorgu ... daha 3. 4. 5. tuşlamayı saymıyorum bile... Çok saçma oluyor :/
MhmdAlmz tarafından 19/Eyl/16 16:34 tarihinde düzenlenmiştir -
Benim anladığımı yazayım.
Mesela sayfa ilk yüklendiğinde ilk 20 veri tabloya dökülecek. Tabii ki aşağıda sayfalama numaraları olacak. Sonra 2. sayfaya tıklayınca diğer 20. kayıt dökülecek.
Doğru mu?