• 28-02-2014, 14:52:38
    #1
    Sitemizin 90k Ürünü Var. Ürünlerin hepsi tek bir tabloda tutuyoruz. Tabloyu sıfırlayıp ürünleri yeniden atmak 56 sn sürüyor ancak ürünleri güncellemek saatler sürüyor. Bu yüzden şöyle birşey yapmak istiyorum.

    Aynı yapıda urunler2 diye bir tablo açıp bu truncate edip ürünleri direk atacam 56 sn de. Sonra bu ürünlerin tüm sütunlarını veya 7,8 sütunu karşılaştırıp değişiklik olan ürünleri almak istiyorum.

    inner join le aynı olmayan ürünleri almak istiyorum ama kilitleniyor. Sizce nasıl bir mantıkla bunu yapabilirim. Array a alıp yapsam daha mı iyi olur php tarafında.

    Select bir.sUrunKodu from urunler bir inner join urunler2 iki on bir.sUrunKodu = iki.sUrunKodu where 
    	bir.SalePrice != iki.SalePrice or
    	bir.MarketPrice != iki.MarketPrice or
    	bir.StokAdedi != iki.StokAdedi or
    	bir.S1 != iki.S1 or
    	bir.S2 != iki.S2 or
    	bir.S3 != iki.S3 or
    	bir.S4 != iki.S4 or
    	bir.S5 != iki.S5
  • 28-02-2014, 20:10:50
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @Elumre; Şöyle bi' mantık yürütsek nasıl olur; Her satırın kolonlarında yer alan veriyi (auto increment ID dışında) toplayıp PHP ile bi' diziye alıp json_encode ettikten sonra md5 hash değerini alıp o satırın `hash` kolonuna yazabiliriz. Ardından tabloda aynı olan hash verilerini çekip aynı ürünleri bulabiliriz?

    Not: Soru PHP kategorisinde olduğu için PHP'yi katarak cevap vermeye çalıştım.
  • 28-02-2014, 23:32:18
    #3
    saintx adlı üyeden alıntı: mesajı görüntüle
    @Elumre; Şöyle bi' mantık yürütsek nasıl olur; Her satırın kolonlarında yer alan veriyi (auto increment ID dışında) toplayıp PHP ile bi' diziye alıp json_encode ettikten sonra md5 hash değerini alıp o satırın `hash` kolonuna yazabiliriz. Ardından tabloda aynı olan hash verilerini çekip aynı ürünleri bulabiliriz?

    Not: Soru PHP kategorisinde olduğu için PHP'yi katarak cevap vermeye çalıştım.
    Hocam çok güzel mantık.
    Ben de şöyle bişey denedim. İki tabloyu union all ile çekip sadece bir tane gelen verilerin yeni ve değişmiş veriler olduğuna karar verdim. 17 sn de 90k güncellenen ürünleri alabiliyom. Sizin yöntemi de deneyeceğim.