1

Konu: tablo oluşturma

merhaba dostlar,projemde oluşturduğum istatistik.dbf de ,3 kategoride bilgi tutulmaktadır.Sistem A,B,C kategorilerindeki kişilere ait yapılan hesaplamaları,istatistik.dbf e kayıt etmekte,her istatistiğin sonunda kümülatif toplamlar alınmaktadır.kategori fieldine göre,verilere ulaşabilmekteyim,Mevcut kayıt sayısı ve iş yoğunluğunu dikkate aldığımda,kayıt sayısının kısa bir zaman içerisinde,Bir-İki milyonu bulacağını görmekteyim..Kümülatif toplam aldığımdan dolayıda,istatistiği tamamlama zamanı bir öncekine göre sürekli artmakta,bu sebeple zamanlama büyük problem haline gelmektedir.zaman burda benim için en önemli olmazsa olmazlardandır. soruma gelince;
  Kayıt sayılarınına dikkate aldığımızda Sizce,İstatistiği daha çabuk yapabilmek  için istatistik.dbf i 3 e bölerek,her kategoriyi ayrı table de tutmak(istatistika.dbf,istatistikb.dbf,istatistikc.dbf gibi) mantıklı olurmu?şimdiki mantıkla gidersem,table boyutu 2.Gb ı aşarmı?görüş ve önerilerinizi bekliyorum..

En büyük sermaye nakit,nakit sermaye vakittir...

2

Re: tablo oluşturma

kategori olarak 3 .dbf ye bölmen senin açından hem mantıklı hem de dosyadaki kayıt sayısı , hepsinin bir dosyada olmasından çok daha az yar kaplayacağından programa hız  kazandıracaktır.

3 Son düzenleyen, ugurlu2001 (11.02.2008 11:06:28)

Re: tablo oluşturma

Bir öneride benden.

Kümülatif toplam için ayrı bir table kullan; bir kullanıcı istatistik.dbf dosyana bir ekleme yada çıkarma yaptığında, bir fonksiyonla otomatik olarak kümülatif toplamı tuttuğun kısmı güncelleyebilirsin. her günün akşamında yada haftalık olarak (sistemde kullanıcıların olmadığı bir anda ) istatistik ve kümülatif table larının genel durumunu karşılaştırırsın. Eğer bir hata yada gözden kaçan durum varsa, tespitin kolaylaşır. Bu işlem mekanizması çok mantıklı mı?, hayır! ama hız senin için olmazsa olmaz ise ve her işlemin sonunda çok büyük boyutlu bir table da kümülatif toplam işlemi yapana kadar; her işlemin bitiminde, ayrı bir table da kümülatif alanını güncellemek daha uygun.

Örneğin benim kullandığım sistemde; Cari hesap bakiyeleri ve işlemler ayrı table larda; Cari bakiye durumunu işlem dosyasındaki kümülatif hareketlerden değil, doğrudan cari table ındaki kısımdan alıyorum.

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ü

4

Re: tablo oluşturma

ugurlu2001 üsdadım,aklımdan geçenleri okumuşsun sen çok yaşa valla.Bir alternatif olarak da senin dediğin gibi yapmayı düşünüyordum şimdi.Forumun güzelliği tecrübeleri yaplaşmak olsa gerek,önerin bence de mantıklı,güzel bir çözüm

En büyük sermaye nakit,nakit sermaye vakittir...

5

Re: tablo oluşturma

Neyzen,
Bir tablonun bazi kriterlere gore ayri fiziksel dosyalara bolunmesi islemi 'partition'. VFP'de bunu kendi yaparsan 2Gb siniri isini halletmis oluyorsun + hesaplamalar bir grup icin biraz daha hizli olabilir. Hizi asil kazandirack Ugur'un dedigi. Gercek zamanli hesapla ve sonucu sakla. Insanlar hesap islerinde yavas:) Ama pratik cozumleri var. Sayfalarca suren girdi-cikti gibi hesaplari tekrar tekra yapmak yerine bir kere yapip, sonra arada duzeltme varsa sadece farki sonuca eklemek bitiriyor isi.
SQL server dusunursen o tek tabloya 'partition' islemini senin tanimlamanla yapiyor. Sana gore tablo yine tek, sorguya gore o kendisi neyi kullanacagini biliyor. Ama Express versiyonda da genel toplamda database basina 4Gb siniri var. Analiz servisleri bu isi hizli yapar. Aklinda bulunsun.

6

Re: tablo oluşturma

Çetin hocam,yorumlarınız ve önerileriniz için teşekkür ederim.SQL servere şu anda geçecek zamanım malesef yok,ancak ileride olabilir diye düşünüyorum.Önerilerinizi dikkate alarak çözüme gideceğim.. :-)

En büyük sermaye nakit,nakit sermaye vakittir...