Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Access FrontEnd/BackEnd sporost pri učitavanju...

[es] :: Access :: Access FrontEnd/BackEnd sporost pri učitavanju...

[ Pregleda: 2648 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Access FrontEnd/BackEnd sporost pri učitavanju...02.03.2005. u 15:52 - pre 232 meseci
Imam dva pitanja:

1. Da li je pri FE/BE sistemu, moguće sporije učitavanje forme, tabela etc. samo zbog toga što postoji 6 veza od ciljne tabele ka drugim tabelama? Drugim rečima, da li da integritet podataka štitim kroz limitiranje unosa u formama (i da obrišem relacije), ili da ostavim relacije i nešto drugo uradim, jer mi se tabela (koja je inače u FE) katastrofalno sporo učitava.

2. Da li može Query da čita globalne varijable? Do sada sam morao da pravim funkciju tipa:

Code:

Public Sub preturnEmployeeName()
    preturnEmployeeName=gEmployeeName
end sub


... pa da onda u queryju upišem sledeće:

Code:

Select * from tblEmployees where employee_name=preturnemployeename()



...gde je gEmployeeName klasifikovana kao Global, u posebnom modulu "Global Variables". Dakle, da li može Query da prihvata global varijable i kako?

Pozdrav, hvala!!
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Access FrontEnd/BackEnd sporost pri učitavanju...03.03.2005. u 13:48 - pre 232 meseci
1) Sporos ucitavanja forme: razloga moze da bude mnogo, a jedan od mogucih jeste i linkovanje. Mada obicno to nije najjaci faktor. Linkovanje moze biti faktor ukoliko se back end nalazi na serveru na mrezi, a desi se da je mreza spora. Ukoliko je i front end na mrezi a ne na lokalnoj masini, sistem se usporava. ukoliko vise korisnika odjednom otvore isti front end fajl, pa jos i na mrezi, onda je cudo da uopste i mogu da rade.
Mnogo cesce razlog za sporost je dizajn same forme. Ako forma ima mnogo combo boxova, list boxova, koji vuku podatke iz velikih tabela, bice sporo. cest slucaj - kombo box za izbor radnika ili artikla, koji vuce podatke iz tabele sa 50,000 rekorda. Subforme koje vuku podatke iz velikuh tabela usporavaju stvar. Ako je rekord source za samu formu neki veoma komplikovan i spor kveri, sporije je. Ako je rekord source za formu ne kveri ili tabela, nego SELECT statemet, opet moze biti sporo. Moze sve ovo da nije slucaj, i opet je sporo. Ako imas prostu formu, a ona vuce podatke iz ogromne tabele, bice verovatno sporo. Ako imas grafiku na formi, kalkulisana polja, na Open ventu radis nesto sa rekrdsetima, bice sporo.

Ako kveri poziva fukncije , pogotovo one koje si ti pisao, usoprava se cela stvar. A posto koristis global varijable, i pozivas ih preko funkcija, to usporava stvar.

Pravilo: ne koristi globalne varijable.
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Re: Access FrontEnd/BackEnd sporost pri učitavanju...03.03.2005. u 18:43 - pre 232 meseci
Malo sam proučio Front-End dizajn baza (pogotovu u Accessu: http://www.granite.ab.ca/access/performancefaq.htm), i pre postavljanja pitanja (uopšte, pre splitovanja baze) sam odradio sledeće optimizacije:

-tabele koje moraju svi da čitaju ostavio sam (logično) u BE
-tabele koje se retko menjaju, stavio sam u FE
-BE je na serveru
-FE je iskopiran na svaku radnu stanicu i tabele su ulinkovane sa BE
-FE sadrži forme, upite, module i tabele (jedan deo)

Naravno, sve ove optimizacije su doprinele brzini, ali meni forma koja se učitava vuče čitavih 2MB pre prikazivanja (forma je unbound, postoji rutina PopulateForm koja radi punjenje forme), ne postoje slike na formi, i postoji jedna subforma koja služi za unos podataka. Po unosu podataka, radi se PopulateForm, a subforma se oslobađa za novi unos. Glavna forma je Continuous, i postoje dva polja u svakom recordu koja su calculated, i zavise od prethodnih polja (kumulativna suma).

Uklanjanjem tih polja nisam dobio osetno na brzini.

Compact & Repair - samo smanjuje veličinu baze, ne povećava brzinu

Compile - takođe samo smanjuje veličinu, ne povećava brzinu

Nisam probao da napravim MDE, probaću, ali sumnjam da ću bilo šta dobiti.

Ono što mene još buni jeste: kada startujem klijent bazu, i pokušam da otvorim tabelu (koja se malo menja, i stoga je fizički iskopirana u FE), potrebno je dosta vremena da se otvori. Da li je to zbog brojnih relacija sa linkovanim tabelama, ili zbog nečeg drugog, ne znam i nisam uspeo da skontam. Radi se upravo o podacima o radnicima.

Merio sam protok DUmeterom, prilikom učitavanja te glavne forme vuče se malo više od 2MB podataka, što je mnogo (pogotovo ako ide preko wirelessa). Šta bi tu mogao da bude problem, nisam uspeo da skontam.

Pozdrav, i ako ste uspeli uopšte da me ispratite do kraja ovog kilometarskog posta, pokušajte bar na neko pitanjce da odgovorite (iz prakse je najbolje). 10x!!


Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Re: Access FrontEnd/BackEnd sporost pri učitavanju...03.03.2005. u 19:27 - pre 232 meseci
Da ne zaboravim, u prethodnom odgovoru, koji na oko izgleda mali dobio sam pregršt odgovora na neke moje nedoumice, a tiču se urednog i optimizovanog programiranja.

Hvala Zidar, car si!
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Access FrontEnd/BackEnd sporost pri učitavanju...03.03.2005. u 19:49 - pre 232 meseci
Svaka cast za odradjenu pripremu :-)

Kad kazes 'relacije izmedju tabele u FE i tabela u BE', sta u stvari mislis? Ako su tabele u razlicitim MDB, NE MOZES uspostaviti 'relationship' medju njima. Ali, to ne utice na brzinu samo po sebi. Ako se mesaju teble iz BE i FE u kverijima, to utice na brzinu ozbiljno. Ako tvoja tabela iz FE ucestvuje u svim ili vecini kverija sa tabelama iz BE, mozda je bolja da je vratis u BE? Ovo moras da utvrdis eksperimentom, nema generalnog pravila. Da li su tabele propisno indeksirane? pretpostavljam da jesu, ali nikad se ne zna.

Kazes forma je unbound, i ucitava se sporo. Da li rutina za popunjavanje forme radi efikasno?
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
62.108.101.*



+1 Profil

icon Re: Access FrontEnd/BackEnd sporost pri učitavanju...04.03.2005. u 11:45 - pre 232 meseci
Pa kad kažem "relacija između BE i FE", to znači da Access DOZVOLJAVA da se napravi veza između tabele iz FE i tabele iz BE, ali ne može da obezbedi referencijalni integritet, već napravi samo vezu (provereno, mene je to bunilo pa sam proverio).

Probaću, recimo, da sve tabele koje se pojavljuju u Query-ju stavim u BE, pa da vidim kakve su onda performanse.

Imamo dva računara koja su izvan mreže i povezana su wirelessom, i onda mi je kritična brzina učitavanja, jer s obzirom da je realno očekivati 400-500kb/s, forma kojoj treba 5 sekundi da se učita (s obzirom da vuče malo preko 2MB) nepodnošljiva je za rad.

Probaću sve ono što si mi napisao, pa ću javiti rezultate.


Hvala Zidar još jednom, ovde sam mnogo naučio zahvaljujući tebi.


Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

[es] :: Access :: Access FrontEnd/BackEnd sporost pri učitavanju...

[ Pregleda: 2648 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.