• 21-09-2021, 21:12:53
    #1
    Herkese iyi geceler geliştirmeye çalıştığım bir projede aklıma takıldı sizlere sormak istedim.

    Php pdo ile yazılmış bir projemiz icin veri tabanı planlaması oluşturmaya karar verdik bu aşamada sorum şu;

    Veritabanımızdaki tablo1(75sutun) tablo2(125sutun) tablo3(290sutun) olarak kullanmak mi daha performans sağlar yoksa tektablo(490sutun) mu kullanmak performans sağlar

    Not: tablo1 ve tablo2 icerisine girilicek verilerin ayni olabileceğini ön görüyoruz yani müşteriler tablosu ve adres bilgileri tablosu gibi.
  • 21-09-2021, 21:17:25
    #2
    Hiçbirisi olmaz.

    75sütun nedir? (125-290,490 rakamlarını görmek bile istemiyorum)
    • Her select işleminde 75sütunu kullanacak mısınız?
    • Hiçmi joinlik işlem yok?
    • Verileri olabildiğince tablolara dağıtın.
    • Ram yetiştiremezsiniz.
    siz bir veri yapısını komple buraya ekler misiniz?
  • 21-09-2021, 21:20:37
    #3
    fskgrup adlı üyeden alıntı: mesajı görüntüle
    Hiçbirisi olmaz.

    75sütun nedir? (125-290,490 rakamlarını görmek bile istemiyorum)
    • Her select işleminde 75sütunu kullanacak mısınız?
    • Hiçmi joinlik işlem yok?
    • Verileri olabildiğince tablolara dağıtın.
    • Ram yetiştiremezsiniz.
    siz bir veri yapısını komple buraya ekler misiniz?
    Şöyleki tablolara sadece kayıt islemi girilecek ve her kaydın sonunda çıktı alınacak ve nadirde olsa sadece tek bi değişkenlik gosteren kayit tarihine gore arama yapılacak
  • 21-09-2021, 21:21:34
    #4
    ne kadar ayrı tablo o kadar iyidir. Benzer bir konu açmıştım daha evel fikir alma amaçlı.Kimseden doğru düzgün cevap gelmedi. Çok fazla veri olan ve dakikada binlerce select yapılan bir tablom vardı
    Hepsini tablolara ayırdım şimdi kafam rahat. Uzun zamandır sorun yaşamadım.
    Kesinlikle ayrı tablolar yapın derim.
  • 21-09-2021, 21:26:55
    #5
    Dereck adlı üyeden alıntı: mesajı görüntüle
    ne kadar ayrı tablo o kadar iyidir. Benzer bir konu açmıştım daha evel fikir alma amaçlı.Kimseden doğru düzgün cevap gelmedi. Çok fazla veri olan ve dakikada binlerce select yapılan bir tablom vardı
    Hepsini tablolara ayırdım şimdi kafam rahat. Uzun zamandır sorun yaşamadım.
    Kesinlikle ayrı tablolar yapın derim.
    Genel itibariyle ne gibi bir sorunla karşılaştınız acaba tek tablo olduğunda
  • 21-09-2021, 21:34:51
    #6
    atiryakicom adlı üyeden alıntı: mesajı görüntüle
    Genel itibariyle ne gibi bir sorunla karşılaştınız acaba tek tablo olduğunda
    select sorgularının yoğun kullanıldığı bir scriptimiz var. Sorguyu kime gösterdiysem ayıramadı ve çözüm üretemedi. Sorguda join lerle birlikte iç içe 5 select yapılıyordu. Yazılımın mantığı gereği ayıramıyordukta ve haliyle tabloda 400 500k veri biriktimi istediğin kadar optimize yap sunucu yanıt vermiyordu. Siteyi fiziksel sunucuya taşımak bile çözüm olmadı.
    Sonuç olarak bazı kriterler belirledik ve o kriterlere göre tek bir tablodaki veriyi 20 ayrı tabloya böldük. Şu an o zamankinden çok daha fazla anlık sorgu almamıza rağmen tablolar tamamen boşmuş gibi %1 %2 cpu anca kullanıyor.
    Yani demem o ki yazılımınızı bilemem ama bizimki gibi çok fazla veri işlenen ve bir yandanda sorgulanan bir yapınız varsa ayrı tablo yapın.
  • 22-09-2021, 10:05:59
    #7
  • 22-09-2021, 10:08:30
    #8
    290 sütunluk veritabanı tasarımında bir yanlışlık olduğunu düşünüyorum görmeden bile.
  • 22-09-2021, 11:33:45
    #9
    cevap veren herkese teşekkür ederim tabloyu parçalamak birden fazla alan kontrolü yapmamıza sebeb olduğu için sorunu oracle kullanarak çözüme ulaştırmayı başardık