Skip to main content

AccessTr.neT M.


Programın yavaş çalışmasının sebebi

Programın yavaş çalışmasının sebebi

Çözüldü #1
Değerli arkadaşlar,

Ticari bir program yaptım. pgogramın bazı bölümlerine girince çok fazla bekletiyor. Tablolarda alan sayısını çok fazla tuttum. Örneğin fatura tablosundaki alan sayısı 40 ın üzerinde. sebebi bu olabilirmi. diğer tablolardada alan sayıları çok fazla ve bu alanlar çoğu zaman boş kalıyor. Acaba tabloları bölsem örneğin Fatura tablosunu Fatura1, Fatura2, fatura3 şeklinde. programı hızlandırabilirmiyim.
Henüz toplam veri 21 Mb. geçmedi bukadar veri accessi yavaşlatacağını düşünmüyorum. Bilgisi olan arkadaşlardan yardım bekliyorum.

.rar Deneme.rar (Dosya Boyutu: 1,72 MB | İndirme Sayısı: 32)
+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla
Çözüldü #2
Merhaba
örneğinin içinde sadece tablo var diğre sorgu ve formun yok,bu hali ile sadece şunu söyleyeyim,sorgular çok önemli ,sorgular yanlış yapılırsa programın çalışmasını yavaşlatıyor,sorguları,tersten kulak gösterir gibi uzatmadan,kısa ve öz kodlarla yapmak çok farkediyor,bu benim edindiğim tecrübelerden biri,tablo bölmesine gelince ,ayrı bişey o ,bölsekte olur bölmesekte ,ama hızı etkilerse de bölme işlemi dahada yavaşlatır diye düşünüyorum

Cevapla
...........
Çözüldü #3
1) Program kullanım halinde iken MDB değil MDE formatında olmalı

2) Tablolarınız için normalizasyon işlemi yapmalısınız. En önemli konulardan birisidir.
Sitede arama yaptıracak olursanız fikir alırsınız.

3) Tablonuzdaki alanların boyutları ve türlerini en uygun olacak şekilde yapmalısınız.
Mesela Fatura tablonuzda FaturaTipi diye bir alan var. Sayı türündeki bu alanı Tamsayı olarak tanımlamışsınız. Hem diskte daha fazla yer kaplar hem performans için uygun değil. Kaç tane fatura tipiniz olabilir ki? Daha küçük sayı türü kullanın.

4) Formlarınızda gereksiz bileşenler kullanmayın.
Form üzerinde saat, kayan yazı vb. şeyler kullanmayın.

5) Programınızı BE ve FE olacak şekilde bölün.

6) Ağ ortamında çalışan programlarınızda ADO kullanırsanız iyi olur. Ayrıca kaydetme vb. işlemlerden önce bağlantı durumunu kontrol edin.

7) Veritabanı olarak Access kullanmayın. Bilgilerin güvenliği, performans, veri bütünlüğü sizin için önemli ise MySql veya MsSql kullanın.

8) Vba kodlarında Variant türünde değişken tanımlamayın. Dolayısıyla Option Explicit kullanın.

9) Form üzerinde ikon haricinde resim kullanmayın

10) Program yazım aşamasında bol bol derleme (Compile) işlemi yapın.

11) Düzenle ve Onar işlemi kodlarınızın ve formlarınızın düzgün çalışmasını sağlamaz. Sadece verilerin tekrar düzenli bir şekilde yerleştirilmesini sağlar. Düzgün çalışması için faydasızdır ancak verileri birleştirdiği için hız avantajı sağlar.

12) Her gördüğünüz modülü bir gün lazım olur diye programınıza eklemeyin. Neye gerçekten ihtiyacınız var ise onu kullanın.

13) Ölü deriyi temizleyin. Formdaki denetimlerde kodlar yazarsınız. Sonradan o denetimi sildiğinizde boşta kalan kod blokları olur. Yazılan prosedür ve fonksiyonlardan kullanılmayanları silin ya da yorum haline getirin.

14) Döngülerde maksimum değeri döngü öncesinde tanımlayın yoksa her döngü adımında hesap yapmak zorunda kalır.

15) Değişkenlerde, form, rapor, sorgu vb. hiç bir yerde Türkçe karakter ve boşluk kullanmayın.

16) Office ve Windows için son güncelleme paketi yüklü olsun.

17) Her tablonuzda Birincil Anahtar-Otomatik Sayı alan olsun.

18) Gerçekten ihtiyacınız olan kadar indeks olsun.

19) Tabloda OLE alanlarda resim vb. şeyler saklamayın.

ilk aklıma gelenler bunlar.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #4
Önce cevaplarınız için çok teşekkürler.
C*e*l*o*y*c*e hocamın dediği gibi programımda yüzlerce sorgu var ve bazıları inanılmaz karışık ve uzun (Kod kullanmak yerine her şeyi sorgularla yaptığım için).

2. Alpeki hocamın yazdıklarından.


2) Tablolarınız için normalizasyon işlemi yapmalısınız. (anlayamadım)
5) Programınızı BE ve FE olacak şekilde bölün. (anlayamadım)
7) Veritabanı olarak Access kullanmayın. Bilgilerin güvenliği, performans, veri bütünlüğü sizin için önemli ise MySql veya MsSql kullanın.(access le yapılan programda başka veri tabanı kullanmak nasıl yapılır bilmiyorum. Ama birçok başka programla yapılan programların veri tabanı olarak Access i kullandığını gördüm)

diğer yazdığı hataların çoğunu da sanırım yaptım. (Türkçe karekter - alan adlarında boşluk. Formlarda silinen denetimlerin boşta kalan kodları. Gereksiz uzun alan boyutları)

sanırım sorun bir sebepten değil birçok sebepten kaynaklanıyor.

iki hocama da çok teşekkür ederim özellikle alpeki hocamın uzun ve açıklamalı cevabı için ayrıca teşekkür ederim

+repCahiller bilginin kölesi, Alimler ise efendisi olur.
Cevapla
...........
Çözüldü #5
Normalizasyon için şu yazıları inceleyebilirsiniz:

Kod:
http://www.ismailgursoy.com.tr/normalizasyon-nedir/
http://www.zskblog.com/detay.aspx?id=21
http://mertkanelpeze.com/2011/05/26/sql-server-normalizasyon-kurallari/


Aslında BE ve FE üzerine fare ile gelince açıklama çıkıyor ancak kabaca ifade edersek veritabanınızı bölmeniz gerek.

Access iş yapar yapmaz değil ancak bu kadar çok tablo ve alan varsa MySql çok iyi olacaktır.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #6
Son Düzenleme: 26/11/2013, 22:08, Düzenleyen: hgsoftware.
Birde tablolarınızı .dbf formatına dönüştürüp al komutu yerine bağlantı koymanız halinde programınız biraz daha hızlanacaktır.

.dbf konusunda sadece şuna diyebilirim (tablolarınız Excel görünümünde olacaktır)

tablolarınızın başlığını 10 karakterden fazla yazmayınız ve benzerlik taşımasın...

kolay gelsin

.rar hgsoftware_dbf dosya.rar (Dosya Boyutu: 1,72 MB | İndirme Sayısı: 32)
Başta..ne demiştik..! ADRES VERİ TABANI SİSTEMİ GELECEĞİMİZ_ GEÇMİŞİMİZ İÇİN PLANLANMALI .ADRES_TC KİMLİK NO. KARDEŞTİR DEDİK; 1999 YILINDA; yola çıktık ya tutarsa misali... H&G_software_M_İ_P programı koyduk o günlerde adına; ilçemdeki tüm bilgileri 255 sutunlu,bir tabloda toplamaya başladık DEDİĞİMDE ;KİMSE İNANMAMIŞTI...bu dev tabloyu sorgu ile bölüp bölüp kullanacağım demiştik ya;O GÜNLERDE;  bazıları bu tablodan birşey olmaz demişti YA hani...Biz yılmadık...çalıştık araştırdık_sorduk_söz dinledik..kör,topal yol aldık; şimdi son rötuj zamanı...(UAVT VE MAKS YOK İKEN GÖRÜLEN RÜYA GERÇEĞE DÖNÜŞÜYOR)
Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da