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 8 sn alıyor. acaba sorgu süresini nasıl düşürebilirim.
SELECT products_id as ID,prod_name,(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 'stock' FROM ktgcari_000_stok LIMIT 0,1000
Stok=(gelen fatura ve irsaliye toplamı)-(giden fatura ve irsaliye toplamı)+(sayım fişi toplamı)
Veritabanı Bilgileri:
stok kartı sayısı: 39000
fatura içeriği tablosu kayıt sayısı: 1800
sayım fişi sayısı: 942
veritabanı büyüklüğü: 5 MB
explain çıktısı