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

access baza narasla na pola giga

[es] :: Pascal / Delphi / Kylix :: access baza narasla na pola giga

[ Pregleda: 3310 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Trodmi

Član broj: 58036
Poruke: 193
*.dialup.neobee.net.



Profil

icon access baza narasla na pola giga03.09.2006. u 17:25 - pre 197 meseci
Radio sam nekom nesto u Delphi-u i kao sto naslov kaze.
I sada kada se startuje exe potrebno je oko 5 minuta da se ucita.
Compact & Repair smanji bazu za oko 1%. Klijent hoce pa hoce acces bazu koju mi je vec dao gotovu i ne zeli da se menja struktura baze. Nijedna tabela u bazi nema indeksirano polje a ima oko 11 tabela. I sta sad? Da l' da uradim mde, indeksiram neko polje or what?
Unapred hvala.
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
82.131.209.*

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: access baza narasla na pola giga04.09.2006. u 10:29 - pre 197 meseci
Stavi indexe na primarne i strane kljuceve, i na polja po kojima cesto vrsis pretragu, narocito u tabelama sa mnogo slogova. Prepravi program da ucitava samo potrebne podatke, sa kojima korisnik hoce i da radi ili pregledava, ni onako ne moze odjednom da gleda 1000 slogova. I ... nagovori korisnika da predje na neki redovan SUBP...
RTFM
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: access baza narasla na pola giga04.09.2006. u 12:30 - pre 197 meseci
Definitivno moras da ubacis indexe u tabele ( Probaj prvo da iz samog Accessa da izvrsis neki upit da vidis koliko ce biti ubrzanje... Trebalo bi da se jos kako vidi razlika izmedju upita bez indexiranih polja i upita sa indexiranim poljima ).

Takodje gledaj da u bazi imas sto manje Text polja... Sve lepo ubaci u manje tabele pa radi sa siframa koje ce ti biti celobrojne vrednosti posto Text polja najvise kolju brzinu... Veruj mi, znam iz iskustva . Sad cu i ja morati da preradjujem jednu bazu koja je isto dosta velika a samim tim i program mora da se preradi, a samim tim i imam utroseno vreme koje mi niko ne placa jer je to u sustini na prvom mestu bila moja greska itd.

Znaci samo malo reorganizuj bazu i to ce ti puno ubrzati stvari...

I da... Kao sto rece aleksandarpopov ucitavaj po malo podataka istovremeno da ne cekas dugo da se sve to izvrsi i koristi query-e posto po opisu problema ( pokretanje programa koje traje 5 min ) sticem dojam da koristis tabele i da ih sve istovremeno aktiviras ...

Ajde srecno, pa javi sta si uradio .

P.S. Ako ti klijent ne zeli preci na nesto drugo sa Accessa ne mora... Moze sve to jako lepo da se odradi kad se hoce, samo ce morati mozda da napravi neki kompromis i da dozvoli mal reorganizaciju baze...
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: access baza narasla na pola giga04.09.2006. u 12:35 - pre 197 meseci
Citat:
Strog: ...posto po opisu problema ( pokretanje programa koje traje 5 min ) sticem dojam da koristis tabele i da ih sve istovremeno aktiviras :D...

Pa ako si jos sve to iskombinovao sa DevExpress komponentama, koje uvek rade FetchAll i sve kesiraju, imas garantovano svaku masinu oborenu na kolena.
A klijentu reci da se ne pravi pametan i ne zahteva stvari tipa "necu da se menja struktura baze" jer je ista ocajno dizajnirana. Kad nema indekse, mogu da zamislim na sta baza lici...
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: access baza narasla na pola giga04.09.2006. u 16:01 - pre 197 meseci
Mozda je glupo, ali moram da pitam ... Da li si radio Compact and Repair baze? Ako nisi probaj da uradis i to izmedju ostaloga posto je ova baza sto si okacio 19,5mb, a kad se odradi C&R bude svega ~400kb .

P.S. Sad sam gledao malo kod i moram ti reci ( no hard feelings ) da je jako nepregledan i ruzno napisan, tako da sve i da imam vremena ( sto trenutno nemam zbog ispita i tekuceg posla oko odrzavanja svojih programa ) ne verujem da bih se upustio u ispravljanje ovog programa...

P.P.S. Znao sam da si koristio ADOTable ... Probaj da ubacis umesto njih ADOQuery i da izvlacis samo podatke koji ti trebaju u svakom trenutku i sve ce ti se znatno ubrzati!
 
Odgovor na temu

Trodmi

Član broj: 58036
Poruke: 193
*.dialup.neobee.net.



Profil

icon Re: access baza narasla na pola giga04.09.2006. u 16:16 - pre 197 meseci
Kada sam prodavao program nisam se bas rukovodio lepotom source-a i preglednoscu.
Sto se compact & rep na pocetku tice, to ne predstavlja neku veliku razliku jer baza po svakom pokretanju aplikacije poraste za oko 10 MB (velika kolicina csv podataka).
Izgleda da treba preci na na neki sql server.
Zahvaljujem svima na odgovorima.
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.231.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: access baza narasla na pola giga04.09.2006. u 16:39 - pre 197 meseci
Citat:
Trodmi: Kada sam prodavao program nisam se bas rukovodio lepotom source-a i preglednoscu...


Da, ali te to pre ili kasnije saceka ... Sad kad bi trebao nesto da doradis jednostavnije bi bilo poceti od nule nego doradjivati onakav kod ( srecom pa je relativno malo program ), ali zamisli da je neki ogroman program u pitanju i da se sve tako odradi i onda za 2-3 godine treba nesto doraditi... Pa prvo bi trebalo 2 nedelje da se sve prostudira kako bi znao sta je sta umesto da se na samom pocetku islo na upotrenu logickih imena za promenljive, nazubljivanje koda i ostavljanje komentara .

To je jednostavno dobra navika bez obzira na to o kakvom se programu radi...

P.S. Problem je u programu, a samo delimicno u bazu, tako da ce ti isto raditi i sa bilo kojom drugom bazom tako da ti je jedino pravo resenje ubacivanje indexa u bazu i prepravka samog programa.

U svakom slucaju srecno !
 
Odgovor na temu

Trodmi

Član broj: 58036
Poruke: 193
*.dialup.neobee.net.



Profil

icon Re: access baza narasla na pola giga13.09.2006. u 05:28 - pre 197 meseci
Evo u cemu je problem:
U bazu se samo ubacuje ali (posto nazalost koristim adotable) muka je da se prikaze 900 000 redova. (potrebno oko 25 min)
Trebalo bi sledeci kod koji ubacuje vrednosti prebaciti u query ili sta vec...
Code:

table.Active :=true;
 for j:= 0 to stringlist1.count-1 do
          begin
            table.Insert;
            stringlist2.DelimitedText:=stringlist1[j];
            form1.progressbar1.Position :=round(j/stringlist1.Count*100);
             for zz:= 0 to iterations-1 do
             try
              table.Fields[zz].Value:=stringlist2[zz];
           except
            table.Fields[zz].Value := '0'+stringlist2[zz]

             end;
            table.Post;
             end;
              table.Active :=false;
             end;

Dakle, izbeci otvaranje adotable1 i korsititi neki sql upit sa insert into...
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: access baza narasla na pola giga13.09.2006. u 13:16 - pre 197 meseci
Definitivno je to jedno od uskih grla... Prebaci taj kod da ti redo preko ADOQuery-a sa Insert upitom i bice ti mnogo brze ( ADOQuery ne otvaras nego samo na kraju stavis ADOQuery.ExecSQL umesto ADOQuery.Open i sve je jako brzo ).

U svakom slucaju i ovako ce ti sve to dosta trajati posto na tako velikoj bazi nemas indexe! Definitivno moras dodati i indexe ( ja imam jedan program koji radi sa bazom od ~300mb koja svakodnevno naraste bar po 10-ak mb i koja je isto Access-ova baza i sve radi extra brzo! ).
 
Odgovor na temu

Trodmi

Član broj: 58036
Poruke: 193
*.dialup.neobee.net.



Profil

icon Re: access baza narasla na pola giga14.09.2006. u 06:03 - pre 197 meseci
Problem resen.

Prepared na true iako se upit dinamicki generise.
I onaj kursor na forwardonly.

Zahvaljujem svima na odgovorima.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: access baza narasla na pola giga

[ Pregleda: 3310 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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