bunu yapmayin. kalan miktar ve bakiye miktarlarini ayri tablolarda tutun.
tanitim tabloları ozet bilgiler tutmamali.

toplam miktarlar aylara, yillara, para birimlerine, depoya, cariye, stok
birimine.... gore toplanip saklanirlar. bunu stok tanitimina koymak zor ve
yanlış olur.

22 Ekim 2017 Pazar tarihinde, ibrahim <[email protected]> yazdı:

> ş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 <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected]
>> <javascript:_e(%7B%7D,'cvml','[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]>
>>> *Kime: *"Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" <
>>> [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]
>>> 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: [email protected]
>>>
>>
>>
>> --
>> İyi çalışmalar...
>>
>> Mustafa DUMLUPINAR
>> https://github.com/seyhanp
>>
>>
>> _______________________________________________
>> 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
>>
>>
>
>
> --
> --
> Saygılarımla,
> İbrahim Halil KURTGÖZ
> PHP, MySQL, JAVA Geliştiricisi
>


-- 
İ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

Cevap