• 01-11-2025, 17:13:28
    #1
    Merhaba,
    Kolaylaştırmak için örneği basitleştiriyorum. 100.000 adet ürün var ve ben her ay bu ürünlere ait fiyat giriyorum. Mysql'de düşey olarak büyümek istemiyorum güncelleme zorluğundan ve satır sayısı artışından dolayı bunun yerine ürünler sabit kalırken sütun olarak her ay fiyat eklemek istiyorum. Yani 5 yıl sonunda 60 sütun daha eklenecek. Bu mysql de fazla sorun çıkartır mı ? Şimdiye kadar söylenen hep yatay büyümede performans olarak kötü mysql ama ne kadarlık bir yatay büyümede ? bu tarz bir yatay büyüme için sanırım sorun olmaz diye düşünüyorum. Not: Fiyatlar varchar(50), motor innodb
  • 01-11-2025, 17:17:49
    #2
    ben 300k ürün içinde güncelleme ve fiyat karışılaştırması yapıyorum, sorun yok. doğru optimize ile hiç sorn olmaz bence
  • 01-11-2025, 17:24:11
    #3
    pilavustuketcap adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Kolaylaştırmak için örneği basitleştiriyorum. 100.000 adet ürün var ve ben her ay bu ürünlere ait fiyat giriyorum. Mysql'de düşey olarak büyümek istemiyorum güncelleme zorluğundan ve satır sayısı artışından dolayı bunun yerine ürünler sabit kalırken sütun olarak her ay fiyat eklemek istiyorum. Yani 5 yıl sonunda 60 sütun daha eklenecek. Bu mysql de fazla sorun çıkartır mı ? Şimdiye kadar söylenen hep yatay büyümede performans olarak kötü mysql ama ne kadarlık bir yatay büyümede ? bu tarz bir yatay büyüme için sanırım sorun olmaz diye düşünüyorum. Not: Fiyatlar varchar(50), motor innodb
    Doğru optimize ile 100 milyon veride olabilir bir tabloda ama postgresql ve mssql varken mysql amatör kalıyor.

    Ama fiyatları sürekli güncellemiyorsanız InnoDB değil MyISAM olması lazım.
  • 01-11-2025, 17:24:35
    #4
    İlla mysql ile devam etmek istiyorsanız stun açmak yerine mevcut bir stunu json olarak tutun ve fiyatları bu json datanızın içine ekleyin hocam
  • 01-11-2025, 17:29:58
    #5
    tablo yapısının ekran görüntüsü+sunucu özellikleri belirtilirse net konuşabilirim.
  • 01-11-2025, 17:38:43
    #6
    Hocam, tabi ki yapabilrisiniz ama işin bir de performans yönü var. Sisiteminiz buna göre optimize edilmemişse her seferinde hiç kullanmadığnız bir sürü veriyi çekip duracaksınız. Veriniz çoksa zaten perişan olursunuz. En iyisi ikinci bir tabloya kaydedin.
  • 01-11-2025, 17:46:17
    #7
    Big data olarak düşündüğünde çok maliyetli olur kafandaki yapı. Geçmiş fiyatlar için ayrı bir tablo tutup (id,product,price,date) şeklinde yapman daha mantıklı olur.
  • 01-11-2025, 23:26:33
    #8
    phpc adlı üyeden alıntı: mesajı görüntüle
    tablo yapısının ekran görüntüsü+sunucu özellikleri belirtilirse net konuşabilirim.
    mantıklı hocam json kolon teşekkür ederim.
  • 02-11-2025, 10:55:50
    #9
    Benzer bir durum da, trigger kullanmıştım.
    Yaptığınız şuan sağlıksız, onun yerine mysql trigger kullanıp, eski fiyatları farklı bir tabloda tutmanız uygun olan. urun fiyatı değiştiği anda yeni tabloya oto olarak eski fiyatı history kaydı olarak eklenir. Kod tarafında ekstra bir şey yapmanızada gerek kalmaz.