Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
172
Tıklama
0
Öne Çıkarma
Sql tek table kullanmak vs çok table kullanmak
A
5 yıl
Yüzbaşı
Konu Sahibi

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



< Bu ileti mobil sürüm kullanılarak atıldı >

A
5 yıl
Yüzbaşı
Konu Sahibi

@revivo72 hocam sizin bir fikriniz var mı



< Bu ileti tablet sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @revivo72
J
5 yıl
Teğmen

Burada çok tablo ile çalışılacak bir durum yok doğru olanı kelimenin hangi gruba ait olduğunu grup_no diye bir kolonda tutman.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
A
5 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Joshualinekano

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ı?



< Bu ileti tablet sürüm kullanılarak atıldı >

J
5 yıl
Teğmen

10000 bir tablo için büyük bir rakam değil bence bir sıkıntı çıkmaz



< Bu ileti mobil sürüm kullanılarak atıldı >

D
5 yıl
Yarbay

Tek tablo, düzgün index.

Sunucuda performans sorunu yaşayıp para kazanamıyorsan veya bir yerden destek alamıyorsan, ozaman yanlış işle uğraşıyorsun demektir.

Tabi. Bu iş için illa sql sunucuda kullanmak gerekmeyebilir.



B
5 yıl
Yüzbaşı

Merhaba,

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.



A
5 yıl
Yüzbaşı
Konu Sahibi

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
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.