folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Farklı Para Birimlerine Ait Fiyat Bilgisinin Sıralanması [DB]



Farklı Para Birimlerine Ait Fiyat Bilgisinin Sıralanması [DB]

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Stored procedure döviz kuru tablosunda güncelleme olunca ürünlerde ilgili tl karşılığını toplu şekilde günceller. Bu sayede döviz kurunu çektikten sonra kuyruğa işlem eklemeniz gerekmeyecek ve bu işlemi php ile yapmaktan daha performanslı.

    Tercih sizin tabi hocam da bu şekilde yapmanız teknik borç oluşturacak ve ilerde tekrar güncelleme gerektirecektir diye düşünüyorum.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 06/Nisan/2007
    Homo
    TeRRoR bunu yazdı
    yolbulucu bunu yazdı
    TeRRoR bunu yazdı

    Herkese teşekkürler. Fiyat kolonunu varsayılan para biriminde tutup ekstra kolonda doviz halini tutup ayrıca ürünü doviz birimi ile ilişkilendirdim. Belirli aralıklarla cron job ile döviz*kur ile fiyat kolonunu güncellicem. Umarım yarın bir gün UPDATE 2 gün sürüyor nasıl optimize ederiz diye konu açmam.

    şimdiden stored procedure ile update et hacı. ya da direkt kura göre where yap

    "update table set `tl_karsilik` = doviz_fiyat*7.75where `doviz` = 'USD'"

     

    hocam store procedure önermenin özel bir sebebi varmı?

    daha performanslı olur ve cron yerine update/insert gibi işlemlerde triggerlayabilirsin.


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Roark
    Roark's avatar
    Kayıt Tarihi: 12/Ağustos/2011
    Erkek
    TeRRoR bunu yazdı
    yolbulucu bunu yazdı
    TeRRoR bunu yazdı

    Herkese teşekkürler. Fiyat kolonunu varsayılan para biriminde tutup ekstra kolonda doviz halini tutup ayrıca ürünü doviz birimi ile ilişkilendirdim. Belirli aralıklarla cron job ile döviz*kur ile fiyat kolonunu güncellicem. Umarım yarın bir gün UPDATE 2 gün sürüyor nasıl optimize ederiz diye konu açmam.

    şimdiden stored procedure ile update et hacı. ya da direkt kura göre where yap

    "update table set `tl_karsilik` = doviz_fiyat*7.75where `doviz` = 'USD'"

     

    hocam store procedure önermenin özel bir sebebi varmı?

    Cache mekanizması sayesinde işlemi bellekte database tarafında işliyor, 1 kez tetiklendiğinde, cache mekanizması işliyor ve tanınıyor. Aynı işlem için her defasında php gidip sorgu yapmıyor. Zaten mekanizmalaşmış yapı sayesinde büyük yük azalıyor. Her deneme de tekrar php-sunucu-php-sunucu olmuyor. 

    Site e-ticaret sitesi ve günlük en az 50 tane sıralama yapıldığı için stored procedure tarafında ageing(yaşlanma) probleminin de önüne otomatikten geçmiş oluyorsun diyebiliriz hocam 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    coder2 bunu yazdı

    Stored procedure döviz kuru tablosunda güncelleme olunca ürünlerde ilgili tl karşılığını toplu şekilde günceller. Bu sayede döviz kurunu çektikten sonra kuyruğa işlem eklemeniz gerekmeyecek ve bu işlemi php ile yapmaktan daha performanslı.

    Tercih sizin tabi hocam da bu şekilde yapmanız teknik borç oluşturacak ve ilerde tekrar güncelleme gerektirecektir diye düşünüyorum.

    Hah şimdi oturdu mevzu, döviz tablosunda update/insertta triggerla store procedure çağırıp işlemi yaptırmak. @yolbulucu sadece store procedure diyince anlayamamıştım teşekkürler hocam. 


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    Roark bunu yazdı
    TeRRoR bunu yazdı
    yolbulucu bunu yazdı
    TeRRoR bunu yazdı

    Herkese teşekkürler. Fiyat kolonunu varsayılan para biriminde tutup ekstra kolonda doviz halini tutup ayrıca ürünü doviz birimi ile ilişkilendirdim. Belirli aralıklarla cron job ile döviz*kur ile fiyat kolonunu güncellicem. Umarım yarın bir gün UPDATE 2 gün sürüyor nasıl optimize ederiz diye konu açmam.

    şimdiden stored procedure ile update et hacı. ya da direkt kura göre where yap

    "update table set `tl_karsilik` = doviz_fiyat*7.75where `doviz` = 'USD'"

     

    hocam store procedure önermenin özel bir sebebi varmı?

    Cache mekanizması sayesinde işlemi bellekte database tarafında işliyor, 1 kez tetiklendiğinde, cache mekanizması işliyor ve tanınıyor. Aynı işlem için her defasında php gidip sorgu yapmıyor. Zaten mekanizmalaşmış yapı sayesinde büyük yük azalıyor. Her deneme de tekrar php-sunucu-php-sunucu olmuyor. 

    Site e-ticaret sitesi ve günlük en az 50 tane sıralama yapıldığı için stored procedure tarafında ageing(yaşlanma) probleminin de önüne otomatikten geçmiş oluyorsun diyebiliriz hocam 

    Hocam biraz daha açar mısın tam olarak anlayamadım. Hemde bilgimiz olsun :)


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    Güzel soru,

    Performansı artırmak için seçici kriter koymak gerekebilir. 500K kayıt var dedin ama bu kayıtların bir türü yok mu? Sql e verebilceğin bir eşitlik olmalı kümeyi daraltmalısın bence.


    Bi de şöyle yapardım, belli kitleyi alır backend de TL leri hesaplar .orderby ile sıralardım. Sql içinde index bozmaması için calculate yapmazdım. Hesabı eğer .net se mesela linq ile yapardım.


    Kur değiştikçe SP ile tabloyu sürekli update etmek DB tarafınını yorar bence.

     

     

     

    zeybekustasi tarafından 26/Eyl/20 06:14 tarihinde düzenlenmiştir

    https://www.youtube.com/watch?v=WC3-71NKwPw