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

U vezi optimizacije baze???

[es] :: Baze podataka :: U vezi optimizacije baze???

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.kalik.info.



Profil

icon U vezi optimizacije baze???22.10.2006. u 19:54 - pre 212 meseci
Hteo bih da saznam neke cake optimizacije u radu s bazama podataka.

• Ako baza ima milion rekorda, odnosno potencijalna tabela, a korisnik zeli izvrsiti UPDATE jednog rekorda, mene interesuje kako odraditi da se ne ucitava cela tabela, nego samo trazeni rekord. Pretpostavljam da ce ici nesto tipa:
Code:

 UPDATE TABELA SET Naziv_Kolone='Nesto' WHERE ID_Nesto=10001

na osnovu primarnog index-a ce se traziti slog 10001, proci samo kroz tu kolonu a ne kroz sve atribute i izvrsiti UPDATE?

• Isto pitanje i za INSERT, ako treba da se doda rekord posle milionitog?

Dakle, mene interesuje brzina u radu s bazom koja ima na GB - ajte podataka. Da je optimizujem, poboljsam brzinu INSERT-a, UPDATE -a, SELECT upita.
Molio bih za malo objasnjenja.
Hvala unapred.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: U vezi optimizacije baze???22.10.2006. u 22:47 - pre 212 meseci
To su mehanizmi baze podataka o kojima ti ne treba da razmisljas. Na tebi je da sto preciznije odredis djelovanje komandi, tj da recimo pri update-u koristis PK a Insert kad radis, ne razmisljas gdje ce taj rekord da bude u bazi jer ne mozes da utices na to.

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.kalik.info.



Profil

icon Re: U vezi optimizacije baze???23.10.2006. u 12:26 - pre 212 meseci
Znaci, kad zelim izvrsiti UPDATE nekog sloga, na osnovu PK se prolazi kroz taj atribut i trazi slog gde je PK uslov koji smo zadali i izvrsi se izmena atributa u tom slogu. Tad baza, bilo koja, ne ucitava sve atribute, nego samo atribut sa PK. Tako ako ima na GB-ajte podataka, ako je baza dobro index-irana upit bi trebao brzo da se izvrsava!?!

Da li brzina zavisi i od drajvera za bazu? Npr. u delphi - u koristim ADO i odbc drajvere sa Access - om. Da li neko ima iskustva kako se odbc drajveri ponasaju kad je u pitanju velika kolicina podataka?

Praksa mi je da nad bazom odradim sve query - e ili view -e, a iz programa samo pozivam te poglede. Dakle, ne kreiram ih iz koda programa ( delphi ), nego direktno u bazi. Da li je to pravo resenje i da li se izvrsavanjem upita u bazi dobija na brzini a da se u programu samo iscitava u dbgrid - u taj pogled?

Nadam se da cete razumeti sta me interesuje. Poenta mi je da za odredjeni deo programa se ne ucitava cela baza, nego samo deo baze koji je za to namenjen, a dublje od toga jeste da se u tom delu pri upitu ne ucitava cela tabela nego eventualno jedan atribut (PK) i kad se pronadje slog, izvrsi upit. Naravno, ukljucujem i neki procenat na mrezu.
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: U vezi optimizacije baze???23.10.2006. u 13:49 - pre 212 meseci
Za UPDATE i SELECT ima jedna carobna rec koja odredjuje koliko ces slogova povuci i zove se WHERE.

Za INSERT, tu si na milosti sistema, sistem ce uraditi INSERT sto brze moze, bez tvog uticaja i to obicno radi odlicno. Po teoriji, INSERT bi mogao da se uspori ako na tabeli imas mnooooogo indeksa i triggera, ali ja to u praksi jos nisam video, mislim usporenje. Nemoj ovo nikako da shvatis kao 'indeksi su opasni jer usporavaju rad'. Bez indeksa, UPDATE i SELECT rade mnogo sporije i to se moze osetiti i u praksi itekako.

Ako u ADO ili DAO uradis nesto kao
SET rs.SQL = "SELECT * FROM MyTable"
rs.Find ....

to ce naravno da bude sporo, i sa mnogo manje rekorda. Mnogo je bolje

SET rs.SQL = "SELECt polje1, polje2,.poljeN FROM myRable WHERE PoljeW = ...."

pa jos ako ti je PoljeW indeksirano, ima program da ti zuji kao formula 1.

 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.kalik.info.



Profil

icon Re: U vezi optimizacije baze???24.10.2006. u 11:14 - pre 212 meseci
Hvala svima na odgovorima, bice jos pitanja.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: U vezi optimizacije baze???24.10.2006. u 21:51 - pre 212 meseci
Mislim da si dobio odgovore na pitanja. Recimo da ukoliko koristis driver za prenos samo potrebni podataka (vrsis minimalnu ili nikakvu obradu podataka u aplikaciji, tj radis sve operacije u bazi) nece ti toliko dolaziti do uticaja razlicitost u driverima.
Ako vec prenosis ogromne kolicine preko drivera i onda ih obradjujes u programu onda hoce.

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

[es] :: Baze podataka :: U vezi optimizacije baze???

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

Postavi temu Odgovori

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