Microsoft Office Access |
|
|
OptimizacijeNivo:
U nekoliko navrata pisali smo o raznim metodama optimizacije baza podataka sa ciljem ubrzanja njenog rada. Ovom prilikom opisaćemo nekoliko manje poznatih, gotovo "čudnih" metoda za ubrzavanje pristupa bazi...
U mrežnom okruženju baza se deli na tzv. BackEnd i FrontEnd delove. Prvi deo se postavlja na server ili na neki drugi pouzdan računar i sadrži samo podatke. Drugi deo predstavlja korisnički interfejs, koji se instalira na radnim stanicama. Ubrzavanje pristupa bazi uz zadržavanje strukture diska može se ubrzati proglašavanjem fascikle gde se nalazi BackEnd deo za virtuelni mrežni disk naredbom:
Virtuelni disk X: zatim treba proglasiti deljivim na mreži i FrontEnd delove povezati sa bazom. U ovoj operaciji pomoći će vam čarobnjak Linked Table Manager koji se nalazi u meniju Tools. Access, naime, šalje naziv putanje i naziv baze kroz mrežu zajedno sa mnogim svojim komandama - npr. sa SQL komandama upita za popunjavanje padajućih lista i kreiranje izveštaja. Skraćivanje dužine komandi smanjuje gustinu saobraćaja i ubrzava rad. Međutim, pravo povećanje performansi se dobija postavljanjem BackEnd dela baze u korenu fasciklu servera. Što je BackEnd dublje na disku, sigurnosni sistemi servera treba da proveravaju veći broj fascikli kako se krećete po njima. Na starim NT4 serverima sličnih problema nije bilo, problem se ispoljava prelaskom na Windows 2000 Server (krivo je svojstvo bezbednosti Traverse). Ponekad nije moguće bazu postaviti u korenu fasciklu servera, ali se preporučuje da se baza nađe odmah na prvom nivou fascikli. Kada smo našu test bazu prebacili iz četvrtog nivoa u korenu fasciklu servera, smanjili smo vreme učitavanja baze sa 45 na 14 sekundi! Dodatno ubrzavanje se postiže skraćivanjem naziva BackEnd dela baze na manji broj karaktera i to na osam ili manje. Razloge ovome nismo uspeli da pronađemo, ali pretpostavljamo da ima veze sa starom konvencijom naziva datoteka 8+3. Poznato je da Access 2000, za razliku od verzije 97, pati od problema brzog porasta veličine baze koji degradiraju performanse. Uzrok ovome je novi način čuvanja objekata projekta. Projekat čine formulari, izveštaji, moduli i makroi. U prethodnoj verziji svaki objekat je imao svoj zapis u sistemskoj tabeli. Kada bi se promenio jedan objekat, ažurirao bi se samo njegov zapis u sistemskoj tabeli. Integracija Visual Basica u Office 2000 je zahtevala da se u Accessu promeni arhitektura skladištenja VBA projekata. Novo okruženje traži da se projekti čitaju i smeštaju odjednom. Projekat zapravo čini veliki binarni objekat (BLOB - Binary Large Object Block) koji se smešta u sistemsku tabelu. Prilikom snimanja izmena, Access snima kompletan projekat, umesto da prepiše samo modul u kome su načinjene izmene. Ovo praktično znači da što su veći projekti sa svojim modulima, snimanje je sporije. Izmenom npr. modula forme od 10 KB u projektu od 1 MB, Access 97 će snimiti samo ovaj modul, dok će novija verzija snimiti kompletan projekat. Ovakvo usporenje ima smisla jer pruža neuporedivo veću sigurnost objekata baze i pruža nezavisnost bazi od mehanizma Jet Database Engine. Obratite pažnju da će se pri svakoj izmeni projekta baza narasti za ukupnu veličinu projekta, pa vam preporučujemo da nakon izmena objekata obavezno primenite opciju Compact And Repair. Izmene na bazi uvek radite na lokalnoj bazi kako biste rasteretili mrežni saobraćaj. Verovatno ste već primetili da se povezane tabele otvaraju sporije nego one u samoj bazi. Usporenje se naročito primećuje kada se stariji format baze konvertuje u noviji, mada postoje i dodatni razlozi. Access 2000 donosi novu mogućnost pregleda vezanih tabela podataka u relacijama jedan prema više. Svaki zapis u tabeli na strani "jedan" sadrži identifikator povezanih podataka druge tabele sa strane "više" sa kojim se vizuelno mogu pregledati povezani podaci. Problem naglog usporavanja rada prelaskom na noviju verziju se rešava isključenjem opcije Subdatasheet Name. Otvorite tabelu u režimu izmena dizajna. U meniju View odaberite Properties i na kartici osobina tabele vrednost [Auto] promenite u None. Za izmenu osobina svih tabela BackEnd dela baze upotrebite priloženu funkciju, koju ćete pokrenuti upisom IskljuciSDS u oknu Immediate. Za rad funkcije neophodno je da uključite biblioteku DAO 3.6.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |