ADO Ve BDE'nin bellekten kullanımı arasında buyuk fark varmı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ADO Ve BDE'nin bellekten kullanımı arasında buyuk fark varmı
Merhaba arkadaslar
daha once de degindigim bir konu vardı. Ado nesnesini kullanarak SQL servera bağlanıyorum fakat Table nesnesinin activasyonunu true yaptıgım zaman 190 MB ramden kullanmaya basşlıyor tablomdaki kayıt sayım 180000 civarında. bu olaya bi cozum bulamadım sorunun adodan yada ado ayarlarımdan olabilecegini dusunerek BDE kullanarak baglantı yaptım ilginctir ramdden sadece 10 mb falan kullandı.
Bu konuyla ilgili bilgisi olan arkadas varsa eger bilgi verebilirse sevinirim, ADOda bu olayı cozmemin bir yolu yok mu?
daha once de degindigim bir konu vardı. Ado nesnesini kullanarak SQL servera bağlanıyorum fakat Table nesnesinin activasyonunu true yaptıgım zaman 190 MB ramden kullanmaya basşlıyor tablomdaki kayıt sayım 180000 civarında. bu olaya bi cozum bulamadım sorunun adodan yada ado ayarlarımdan olabilecegini dusunerek BDE kullanarak baglantı yaptım ilginctir ramdden sadece 10 mb falan kullandı.
Bu konuyla ilgili bilgisi olan arkadas varsa eger bilgi verebilirse sevinirim, ADOda bu olayı cozmemin bir yolu yok mu?
Merhaba;
Bu yazım tümüyle tahminler üzerine kurulu olacak. Yani biraz atacağım izninizle;
ADO dan tiksinen biri olarak ADO yu sadece mecburi olarak ASP de kullandığı belirtmeliyim.
Microsoft genelde RAM i çok seven bir şirket. Veriabanlarında her şeyi RAM e yükleyerek performans artışı sağlamaya çalışıyorlar. Daha önce forumda çok tartışıldı Firebird ile MS SQL Server ın RAM kullanımı konuları.
Eğer siz TTable yada onun türevi bir sınıfla Tablonuza erişiyorsanız. ADO tüm tablo kayıtlarını belleğe yüklemeye çalışıyor olabilir (yüksek performans kaygısı). BDE ise optimize edilmiş değişik bir imleç kullanımı esasına dayanır yani tablonun tüm kayıtlarını alıp getirmez. Esasında ADO daha çok sunucu mimari için tasarlanmış olsa gerek. Haliyle ADO ile çalışırken SQL sorguları kullanmalı (yani TQuery yada türevleri ile veritabanına erişmeli) ve sadece ihtiyaç duyulan kayıtları sorgulamalı. Yoksa sizin sorununuzun başa gelmesi kaçınılmaz.
poshet303 ten sallamalar dinlediniz. hatalardan elbette ben sorumluyum.
Bu yazım tümüyle tahminler üzerine kurulu olacak. Yani biraz atacağım izninizle;
ADO dan tiksinen biri olarak ADO yu sadece mecburi olarak ASP de kullandığı belirtmeliyim.
Microsoft genelde RAM i çok seven bir şirket. Veriabanlarında her şeyi RAM e yükleyerek performans artışı sağlamaya çalışıyorlar. Daha önce forumda çok tartışıldı Firebird ile MS SQL Server ın RAM kullanımı konuları.
Eğer siz TTable yada onun türevi bir sınıfla Tablonuza erişiyorsanız. ADO tüm tablo kayıtlarını belleğe yüklemeye çalışıyor olabilir (yüksek performans kaygısı). BDE ise optimize edilmiş değişik bir imleç kullanımı esasına dayanır yani tablonun tüm kayıtlarını alıp getirmez. Esasında ADO daha çok sunucu mimari için tasarlanmış olsa gerek. Haliyle ADO ile çalışırken SQL sorguları kullanmalı (yani TQuery yada türevleri ile veritabanına erişmeli) ve sadece ihtiyaç duyulan kayıtları sorgulamalı. Yoksa sizin sorununuzun başa gelmesi kaçınılmaz.
poshet303 ten sallamalar dinlediniz. hatalardan elbette ben sorumluyum.
Fikriniz olmayan konularda atmak çokta iyi birşey değil, insanları yanlış bilgilendirebilirsinizposhet303 yazdı:Merhaba;
Bu yazım tümüyle tahminler üzerine kurulu olacak. Yani biraz atacağım izninizle;
ADO dan tiksinen biri olarak ADO yu sadece mecburi olarak ASP de kullandığı belirtmeliyim.
Microsoft genelde RAM i çok seven bir şirket. Veriabanlarında her şeyi RAM e yükleyerek performans artışı sağlamaya çalışıyorlar. Daha önce forumda çok tartışıldı Firebird ile MS SQL Server ın RAM kullanımı konuları.
Eğer siz TTable yada onun türevi bir sınıfla Tablonuza erişiyorsanız. ADO tüm tablo kayıtlarını belleğe yüklemeye çalışıyor olabilir (yüksek performans kaygısı). BDE ise optimize edilmiş değişik bir imleç kullanımı esasına dayanır yani tablonun tüm kayıtlarını alıp getirmez. Esasında ADO daha çok sunucu mimari için tasarlanmış olsa gerek. Haliyle ADO ile çalışırken SQL sorguları kullanmalı (yani TQuery yada türevleri ile veritabanına erişmeli) ve sadece ihtiyaç duyulan kayıtları sorgulamalı. Yoksa sizin sorununuzun başa gelmesi kaçınılmaz.
poshet303 ten sallamalar dinlediniz. hatalardan elbette ben sorumluyum.

ADO'yu ben de sevmem ama SQL Server kullansam ADO'yu tercih ederim. İkisi ayrı şeyler.
Kolay gelsin.
Mustafa Bey bende ADO kullanmak istiyorum fakat programı calıstırdıgımda ramden bu karda kullanması normal mi??
ADO table nin activasyonunu True yapıyorum 180 mb ramden kullanmaya basşlıyor. Bunun bir çözümü olmalı .
Yaptıgım proje su:
SQL serverda hazırlanmıs ve kayıt sayısı yaklkasık olarak 190000 olan bir tabloya baglanıp kayıtları gormek ve degisiklik yapmam gerekecek.
Siz olsanı boyle bir projeyi ramden daha az kullanacak şekilde nasıl yapabilirdiniz?
ADO table nin activasyonunu True yapıyorum 180 mb ramden kullanmaya basşlıyor. Bunun bir çözümü olmalı .
Yaptıgım proje su:
SQL serverda hazırlanmıs ve kayıt sayısı yaklkasık olarak 190000 olan bir tabloya baglanıp kayıtları gormek ve degisiklik yapmam gerekecek.
Siz olsanı boyle bir projeyi ramden daha az kullanacak şekilde nasıl yapabilirdiniz?
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
kardeşim ayptığın işlemlerin aynısını bir de bde ile yap bakalım ne olacaak...dtgb yazdı:Mustafa Bey bende ADO kullanmak istiyorum fakat programı calıstırdıgımda ramden bu karda kullanması normal mi??
ADO table nin activasyonunu True yapıyorum 180 mb ramden kullanmaya basşlıyor. Bunun bir çözümü olmalı .
Yaptıgım proje su:
SQL serverda hazırlanmıs ve kayıt sayısı yaklkasık olarak 190000 olan bir tabloya baglanıp kayıtları gormek ve degisiklik yapmam gerekecek.
Siz olsanı boyle bir projeyi ramden daha az kullanacak şekilde nasıl yapabilirdiniz?
Siz hayal edin...Biz yapalım TuannaSoft...