Android üzerinde çalışıyorum. Yapmak istediğim şey şu şekilde, kelime öğrenme uygulaması tarzında, Yaklaşık bin tane satır kelime için kullanılacak, her row da kelime-çevirisi-daha önce uygulamada öğrenmiş miyim-kelimenin bulunduğu set şeklinde 4 sütun var. Ben bu kelimeleri 20'li şekilde gruplandırmak istiyorum. Kelimeleri tek table üzerinde tutuyorum şu an. Aklıma takılan şey de şu, bu verileri gruplandırırken çok table a bölm mantıklı olur mu? Yani bu bin kelimenin tamamını 20 li gruplara bölüp ayrı table'lara yazdırmak mı daha güzel olur yoksa hepsini tek bir table üzerinde ayrı bir column ekleyerek 20şer olarak bu column üzerine grup numarasını mı yazdırmak daha mantıklı.
Kullanırken de bu verileri array list halinde activity'ye gönderiyorum. Ve grup şeklinde. Mesela en son 4 numaralı grubu kullandım. Daha sonra 5 numaralı gruptaki 20 kelimeyi çekiyorum.
Veri çok olmasa hepsini ayrı table'lara yazdırırım ancak veri çok ve daha da artması söz konusu olabilir? Yorumlarınızı bekliyorum
Burada çok tablo ile çalışılacak bir durum yok doğru olanı kelimenin hangi gruba ait olduğunu grup_no diye bir kolonda tutman.
Ben de öyle düşündüm de, veri çok sayıda olursa performans kaybı olur mu diye düşünüyorum, mesela iki ay sonra kelime sayısı 10.000 olsa tek tablo sıkıntı yapar mı?
Eger tablonuzda kelimeyi tuttugunuz kolonu primary key yaparsaniz ( kelimelerin unique oldugunu farzediyorum, Turkce'de 110 bin kadar kelime var ) db konfigurasyonunda bir sikinti yoksa kolay kolay performans sorunu yasamazsiniz.
Veritabanindan kayitlari okurken ise butun kayitlari okumak yerine pagination ( belirli araliktakileri, ornegin 1000. kayittan sonra 50 tane getir gibi ) yaparak okursaniz memory kullanimi acisindan daha uygun olacaktir.
Eger text ile ugrasiyorsaniz, benim tavsiyem mysql/mssql kullanmak yerine elasticsearch gibi full text search icin optimize edilmis bir veritabani kullanmak daha uygun olacaktir.
Arkadşalr değerli yorumlarınız için teşekkürler ederim öncelikle.
Proje Android üzerinde çalışıyor-Web ile işim yok- ve kesinlikle profesyonel odaklı değil. Kendim için geliştiriyorum. Bundan dolayı düşününce performans kaybı da çok önemli gelmedi bana. Takılmadığı sürece çalışsın yeter.
Tek table olarak dizayn ettim. Sql kullanıyorum, dediğim gibi profesyonel çalışmıyorum, kendim için heliştiriyorum, ve sql biliyorum. Şuan için işimi görüyor.
Pagination olayı işime yarayacaktır, tekrar teşekkür ederim.
< Bu mesaj bu kişi tarafından değiştirildi an agony -- 31 Aralık 2018; 18:00:30 >
< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler:
@bestanealtcizgi , @Delifisek.Tux , @Joshualinekano
Yapmak istediğim şey şu şekilde, kelime öğrenme uygulaması tarzında,
Yaklaşık bin tane satır kelime için kullanılacak, her row da
kelime-çevirisi-daha önce uygulamada öğrenmiş miyim-kelimenin bulunduğu set
şeklinde 4 sütun var. Ben bu kelimeleri 20'li şekilde gruplandırmak istiyorum.
Kelimeleri tek table üzerinde tutuyorum şu an.
Aklıma takılan şey de şu, bu verileri gruplandırırken çok table a bölm mantıklı olur mu?
Yani bu bin kelimenin tamamını 20 li gruplara bölüp ayrı table'lara yazdırmak mı daha güzel olur yoksa hepsini tek bir table üzerinde ayrı bir column ekleyerek 20şer olarak bu column üzerine grup numarasını mı yazdırmak daha mantıklı.
Kullanırken de bu verileri array list halinde activity'ye gönderiyorum. Ve grup şeklinde. Mesela en son 4 numaralı grubu kullandım. Daha sonra 5 numaralı gruptaki 20 kelimeyi çekiyorum.
Veri çok olmasa hepsini ayrı table'lara yazdırırım ancak veri çok ve daha da artması söz konusu olabilir?
Yorumlarınızı bekliyorum
< Bu ileti mobil sürüm kullanılarak atıldı >