şuan sql sorgumu aşağıdaki gibi yaparak 8 sn ye düşürdüm. ama yine yüksek bir gecikme en kötü ihtimalle stok kartı tablosuna miktar alanı açıp ekleme çıkarma sayım gibi hareketlerde miktarı güncellemeyi düşünüyorum.
SELECT products_id as ID,prod_name as 'Ürün Adı',(SELECT IF(type=1 or > type=4,sum(urun_adet),0)-IF(type=2 or type=5,sum(urun_adet),0) FROM > `ktgcari_000_fatura_xref` where > product_id=ktgcari_000_stok.products_id)+IFNULL((SELECT sum(miktar) FROM > ktgcari_000_ssayim where urun_id=ktgcari_000_stok.products_id),0) as 'Stok' > FROM ktgcari_000_stok LIMIT 0,1000 22 Ekim 2017 18:41 tarihinde M.Dumlupinar <mdumlupi...@gmail.com> yazdı: > benim dikkatimi ceken birsey var; > > normalde yazilim tarafinin yapmasi gereken seyleri neden db tarafina > yaptirmissiniz. bu tur seyler faydadan cok zarar getirir. > > veritabanlari darbogazdir, calisma mantiklari basit kume teorilerine > dayanir yani kompleks veri tipleri gibi islemler de sikintiya sebep olur. > > standart sql disinda birseyler yazmaya basliyorsaniz bir yerlerde hata > vardi. bence bu tur yerleri duzeltmeden sorgularinizi elden gecirmeyin. > > performans adina, benim bir onceki calistigim yerde veritabaninda veriden > baska birsey (view, function, stored procedure ve trigger...) buldurulmazdi. > > suanki isyerimde durum biraz daha sıkı; hiçbir sekilde join dahi > kullanamiyoruz :) > > > 22 Ekim 2017 Pazar tarihinde, SEZAYİ BUĞDAYCI <sbugda...@etimaden.gov.tr> > yazdı: > > Sorguda çok alt sorgu var, Dolayısı ile her alt sorgu zamanı artırdığı >> kanaatindeyim. Alt sorgular yerine view( MySQL de kullanılıyor mu >> bilmiyorum) kullanılması zamanı azaltabilir. >> >> İyi çalışmalar. >> >> ------------------------------ >> *Kimden: *"ibrahim" <ibrahim...@gmail.com> >> *Kime: *"Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" < >> linux-programlama@liste.linux.org.tr> >> *Gönderilenler: *20 Ekim Cuma 2017 23:18:49 >> *Konu: *[Linux-programlama] ön muhasebe stok hesaplama >> >> Merhaba JAVA+MySQL(maria db) li bir ön muhasebe yazılımı üzerinde >> çalışıyorum.stok miktarını aşağıdaki sorgu ile hesaplıyorum ve sorguyu >> çalıştırdığımda sorgu süresi 16 sn alıyor. acaba sorgu süresi normal mi ? >> sorguda hata mı yapıyorum ? >> >> SELECT products_id as ID,prod_name as 'Ürün Adı',IFNULL((SELECT >>> sum(urun_adet) FROM `ktgcari_000_fatura_xref` where product_id= >>> ktgcari_000_stok.products_id and (type=1 or type=4)),0)-IFNULL((SELECT >>> sum(urun_adet) FROM `ktgcari_000_fatura_xref` where product_id= >>> ktgcari_000_stok.products_id and (type=2 or type=5)),0)+IFNULL((SELECT >>> sum(miktar) FROM ktgcari_000_ssayim where >>> urun_id=ktgcari_000_stok.products_id),0) >>> as 'Stok' FROM ktgcari_000_stok LIMIT 0,1000 >> >> >> (gelen fatura toplamı+gelen irsaliye toplamı)-(giden fatura toplamı+giden >> irsaliye toplamı)+(sayım fişi toplamı) >> >> Veritabanı Bilgileri: >> stok kartı sayısı: 39000 >> fatura sayısı: 545 >> fatura içeriği tablosu kayıt sayısı: 1800 >> sayım fişi sayısı: 942 >> veritabanı büyüklüğü: 5 MB >> >> -- >> -- >> Saygılarımla, >> İbrahim Halil >> >> _______________________________________________ >> Linux-programlama mailing list >> Linux-programlama@liste.linux.org.tr >> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >> Liste kurallari: http://liste.linux.org.tr/kurallar.php >> >> -- >> *SEZAYİ BUĞDAYCI* >> *Eti Maden İşletmeleri Genel Müd.* >> Yön. Bil. Sis. Dai. Başkanı >> >> Ayvalı Mah. Halil Sezai Erkut Cad. >> Afra Sk. No 1/A 06010 Etlik-Keçiören/ANKARA >> Tel: +90(312) 294 21 52 <+90%20312%20294%2021%2052>, (530) 693 34 36 >> e-posta: sbugda...@etimaden.gov.tr >> > > > -- > İyi çalışmalar... > > Mustafa DUMLUPINAR > https://github.com/seyhanp > > > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > -- -- Saygılarımla, İbrahim Halil KURTGÖZ PHP, MySQL, JAVA Geliştiricisi
_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php