1

Konu: SQL Query Optimizasyonu , Performans elde etmek taktikleri

Arkadaslar ,
kendimce cozum bulmus olmama ragmen sizinde fikirlerinizi almak icin soyle bir soru yoneltmek istiyorum.

stok(topgiren,topcikan,topkalan)
ve
carihesap(borc,alacak,bakiye)
kartlarinda  yukaridaki gibi alanlarim var bu formlar acilirken carihesap icin borc_alacak sorgulamasi stok icin stokmevcut sorgulamasi calisiyor ve
ilgili kartlarin alanlarina sorgu sonucu update ediliyor .
(neden boyle yapiyorsun stok veya cari islemi oldugunda ozaman buralari guncelle diyebilirsiniz oda ayri bir performans konusunu gundeme getiriyor ayrica bu yolla o andaki son durum guncellenmis olarak geliyor olmasi bana daha efektif geliyor)
Tabi bu sorgu suresi formun acilis hizini etkiliyor sad bu sureyi kısaltmak icin neler onerirsiniz ? sizlerin buna benzer cozumleri nelerdir?

NOT : data VFP datası

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

2

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

eğer sql server kullanıyorsan view kullan. performans sorunu filan olmaz böylece.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

SQL server degil ancak view ayri bir cikis yolu olabilir (Local View)

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

4

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

ornek data yaratip sorgulamayi yapan kodlar asagidaki linkte , uzun oldugu icin buraya kopyalamadim .prg yi direkt calistirip gorebilirsiniz...

http://www.soykansoft.com/fox4um/soykan_query.rar

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

5 Son düzenleyen, ugurlu2001 (11.02.2010 15:18:27)

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

Soykan Abi;

Bence en başta bir tasarım hatası var. Öncelikli olarak formu her açtığında (HAZIR DATA)  kullan. Yani formu açtığında Select + Joinler ile Toplam hesaplatma, zaman içerisinde şu anki hızı bile mumla arayabilirsin wink

Hesaplatmak istediğin değerler, bir kenarda hep hazır olsun. İstersen arada HAZIR DATA ile HESAPLANMIŞ DATA nın sağlamasını yapabilirsin. Yada kullanıcı istiyorsa bu sağlamayı ayrı bir yerden yapabilir.

Bunun yerine her işlem yaptığında ( ekleme / silme / düzeltme )  STOK dosyasındaki ÜRÜN bilgilerini güncelle.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

ozaman Updatable Local View kullanımı bu amaca hizmet eder.

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

7

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

Data büyüdükçe senin toplamları getirmen yavaşlar.
Trigger yazsan daha güzel olur bence.
Böylece toplamlar otomatik oluşur.

8

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

MS SQL kullanıyorsan, tablo ve index yapını uygun yazarsan hız çok çok zaman sonra yavaşlar.
Bir müşterimizde 50.000 farklı stok var ve bunlarla ilgili olarak 3.000.000 kayıt var. Telefonla sipariş alıyorlar ve aradıkarı ürünlerle iligili olarak her sorguda stok mevcutları hesaplanıyor. Sene sonunda biraz yavaşlama oldu biz de bu yavaşlama ilerleyen zamanlarda can sıkmasın diye Cemal'in de dediği gibi triggerlar ile işi çözdük.

/o---------------------o\
     www.haser.com
\o---------------------o/

9

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

taRKan yazdı:

MS SQL kullanıyorsan, tablo ve index yapını uygun yazarsan hız çok çok zaman sonra yavaşlar.
Bir müşterimizde 50.000 farklı stok var ve bunlarla ilgili olarak 3.000.000 kayıt var. Telefonla sipariş alıyorlar ve aradıkarı ürünlerle iligili olarak her sorguda stok mevcutları hesaplanıyor. Sene sonunda biraz yavaşlama oldu biz de bu yavaşlama ilerleyen zamanlarda can sıkmasın diye Cemal'in de dediği gibi triggerlar ile işi çözdük.

fox datasi ve SQL datasi icin basit ornek bir trigger yazabilirmisin

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

10

Re: SQL Query Optimizasyonu , Performans elde etmek taktikleri

Soykan suan mobil baglantidan yazoyorum. O yuzden ornek yazamayacagim ama klasik bir update komutu. yime de uygun bir ortamda sana bir ornek yazarim

/o---------------------o\
     www.haser.com
\o---------------------o/