Tablo verimli kullanmak

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Tablo verimli kullanmak

Mesaj gönderen pasa_yasar »

ticari bir programımda bütü naskit hareketlerini bir tabloda tutuyorum.kasa,cari,faturalar,çek ve senetler bunların tek tabloda olmasının ne gibi zaararları olur. performans kaybı ve hız nasıl olur. uzun vadede ne gibi problemler yaratır.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Tablo verimli kullanmak

Mesaj gönderen Battosai »

Nakit harekete demişin hepsini saymışın....tüm hareket kayıtları desen olur...neyse bu karar tamamıyla senin oluşturacağın veritabanı yapısı ile alakalı...Esasında çok farketmez...hatta aynı tabloda olması senin açından iyi olur....Zaten hareket kayıtlarının tek tablo olması lazım gelir bana göre...ama sen çekler için ayrı,,,nakitler için ayrı yaparım diyorsan zahmetli olur performansada pek faydası olacağını sanmam... gerekli indexleri tanımladın mı olay biter....
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Tablo verimli kullanmak

Mesaj gönderen sabanakman »

Eğer hareketlerde birbirini ilgilendirmeyen alanlar varsa bu olumsuz etki yapabilir ama dikkatimi çeken bir şey oldu. Verileri sorgu ile çekerken ayrı ya da tek tablo olmasının performansa fazla etkisi yok gibi. Mesela cari hareketleri tablosunun her firma için ayrı olduğunu var sayarsak ADOQuery1.SQL.Text:=Format('select * from %s_CARI_HAREKET',[FirmaKodu]) gibi bir sorgu ile istenilen kayıtlar gelecektir. Bunun yerine tüm firmaların hareketleri tek tabloda tutulur ve firmaları ayıran bir firmakodu alanı olursa ADOQuery1.SQL.Text:=Format('select * from CARI_HAREKET where FirmaKodu=''%s''',[FirmaKodu]) gibi bir sorgu ile gelecektir. Bu ikisi arasında performans olarak çok fazla fark olmaz ama söylediğim gibi bir arada tutulacak kayıtlarda birbirini ilgilendirmeyen (cari hareketlerinde olması gereken ama kasa da olması gerekmeyen bir alan gibi) alanlar varsa bu yapı olumsuz etkileyebilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Tablo verimli kullanmak

Mesaj gönderen conari »

hepsi birbirinde farklı olaylar bence
kasa, fatura, çek, senet ,cari
bunların hepsi ayrı tabloda tutulmalı diye düşünüyorum.

En azında çeklere dalarken, faturalar içinde de yüzmezsin. :lol:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla