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 <[email protected]> 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" <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> > *Kime: *"Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" < > [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> > *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 > [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');> > 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, (530) 693 34 36 > e-posta: [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');> > -- İyi çalışmalar... Mustafa DUMLUPINAR https://github.com/seyhanp
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
