stored procedure kullanım alanı ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

stored procedure kullanım alanı ile ilgili

Mesaj gönderen bgoktas »

Merhaba arkadaşlar,

(Delphi+BDE+SQL Server) -Farklı lokasyonlardaki birçok user'in (100 ... 400 ) bağlı olacağı projede;


- En iyi performans için; database kayıt ekleme,silme,select TQuery ile mi olmalı yoksa stored procedure ile mi ? yada tavsiyeniz...

-projenin mevcut halinde TQuery+Updatesql kullanılarak cxgrid üzerinde insert,delete,update işlemi yaptırılmış. Projenin boyutu göz önüne alındığında hız açısından bu yol mantıklı mıdır? Değilse ne tavsiye edersiniz.

-Delphi ile bu kadar client lı bir proje geliştirdiniz mi?

şimdiden teşekkürler...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7605
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

eğer proje bitmiş ise yapacak çok birşey yok. Mevcut yapıyı koruyarak ilaveler yapman daha iyi olur.

* SQL Server için; BDE yerine kendisi de M$ ürünü olduğundan ADO daha iyi bir seçim.
* Ben bilgi kayıt işleri için normal dataset,query vs. kullanıyorum. Onun dışında raporlama gibi işlemleri yapmak için SP kullanıyorum. Birkaç yerde SP ile'de yapmışlığım var. Burda tabii hatların hızı da çok önemli. Ciddi sıkıntı olmaz sanıyorum. Ancak bilgi girişleri çok yoğunsa, hızlar yavaşsa vs. gibi projeye özel birçok nedenden ötürü SP kullanmak daha cazip olabilir. Nazınız geçen birkaç müşterinize programı yükleyip test edebilirsiniz. Tercihen en yavaşını seç : )
* 400 kişi büyük bir rakam değil, kaldırır 3 ü de : )
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Re: stored procedure kullanım alanı ile ilgili

Mesaj gönderen Glen »

Merhaba,

1) Insert, delete, Update islemlerini stored procedure ile yapmaniza gerek yok. Hiz acisindan abarti bir degisim olmayacak, tek fark stored procedurelerin (insert vs. islemleri icin söylüyorum) onceden compiled oldugu icin calistirdiginizda direk calistimasi, gondereceginiz INSERT INTO sql cumlesinin ise compile olma suresinden sonra calismasi. Bu da ne kadar fark yaratir bilemiyorum. Stored procedure kullanirsaniz, tum kodlariniz veritabaninda bulunacak bu da bir dezavantaj. Evet hiz olarak stored procedureler kesinlikle daha hizli calisacak, ancak insert, update, delete islemleriniz cok fazla kompleks degilse gerek yok.
Select islemleri icin kompleks olmayanlar icin ben Query kullaniyorum, ve sadece ekrana getirilecek alanlari seciyorum. Degistirme / Inceleme islemi yapildiginda, yeni bir sorgu ile sadece o kayda has ek bilgileri de veritabanindan cekiyorum. Diger arkadaslarin fikrini bilemem ama bence en hizli yontem bu.

2) Grid uzerinden ekleme cikarma yapiyorsaniz, kayit kilitleme kismini (En mantiklisi vt'nin dogal lock sistemi ancak ben tam cozemedim) sql ile kilitleyip, grid uzerinden islem yapmadan once yine sql kodu ile kilitli olup olmadigini denerseniz, ve gridden de normal edit delete append vs. islemleri yaparsaniz, sorunun cikacagini dusunmuyorum. (SQL ile kontrol etmemizin sebebi guncel kayitlari alabilmek)

3) Son olarak, evet suan ben de buyuk bir proje gelistiriyorum, ve ayni korkulari ben de yasiyorum :)

Iyi calismalar, kolay gelsin
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

Cevaplar için teşekkürler...
Cevapla