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

varchar, straćen prostor, join i optimizacija

[es] :: MySQL :: varchar, straćen prostor, join i optimizacija

[ Pregleda: 1347 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bjevta
Bratislav Jevtic
http://www.tojesoft.co.rs
Beograd

Član broj: 5216
Poruke: 367
*.dynamic.sbb.rs.

Sajt: www.tojesoft.co.rs


+5 Profil

icon varchar, straćen prostor, join i optimizacija23.12.2010. u 20:53 - pre 162 meseci
slučaj A:

recimo da imamo neku tabelu sa varchar(255) kolonom, od čega je iskorišćeno max 50 znakova - najduži string je 50 chars, resto straćen prostor. neka tabela ima 100 slogova.

ako radim upit nad tom tabelom, da li će mysql da "odseče" višak od 200 karaktera ili će da mi vrati 100 x 50 chars ili će to biti 100 x 255 chars, ili će biti suma efektivnih dužina po svakoj ćeliji te kolone?

drugim rečima, da li dobijam nešto ako "sasečem" dužinu te kolone na, recimo baš 50 znakova?

---------------------
slučaj B:

isto kao A, samo radimo JOIN sa drugom tabelom koja takođe ima straćen prostor u varchar koloni (kolonama).

=================
lično, uvek "sečem" kolonu tako da rezervišem oko 20% više prostora nego što procenim da je neophodno. ovde je u pitanju već postojeća baza, napadana hibernate-om, pa me interesuje da li ću dobiti *vidljivo* poboljšanje ako krenem u optimizaciju? platforma je linux.
Acta, non verba!
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: varchar, straćen prostor, join i optimizacija23.12.2010. u 21:45 - pre 162 meseci
Mislim da ovo ppitanje nije pitanje samo za bazu podataka vec i za aplikaciju koja koristi ove podatke.

Ukoliko ti treba veliki broj redova, mislim da je umesno smanjiti sirinu tabele. Cesto takvim upitima izvlacim samo id zapisa koji cu kasnije koristiti. Tako povecavam broj upita, ali smanjujem zauzece memorije i dobijam fleksibilnost.

Polja koja su varchar preko 50 se cesto drze u posebnim tabelama u odnosu na operativne tabele. A stvari koje se ponavljaju se drze u enum...

Dakle, moje vidjenje problema bi se odnosilo i na aplikativni nivo. Ukoliko bas mislis na cist mysql sigurno je da ti treba vise memorije za sira polja, bez obzira da li je u pitanju linuks ili vindouz.

 
Odgovor na temu

bjevta
Bratislav Jevtic
http://www.tojesoft.co.rs
Beograd

Član broj: 5216
Poruke: 367
*.dynamic.sbb.rs.

Sajt: www.tojesoft.co.rs


+5 Profil

icon Re: varchar, straćen prostor, join i optimizacija23.12.2010. u 22:23 - pre 162 meseci
zapravo, interesuje me samo deo u vezi baze. ideja sa izvlačenjem id-jeva je i meni pala na pamet ali, u ovom trenutku, nije izvodljiva jer bi zahtevala previše izmena u DAO layeru. tu je i spring, i još koješta. prava

Citat:
Ukoliko bas mislis na cist mysql sigurno je da ti treba vise memorije za sira polja, bez obzira da li je u pitanju linuks ili vindouz.


ovo bi bio odgovor na moje pitanje, thx.

videću da li mogu da očitam veličinu rezultata upita u nekom alatu (workbench, mysql profiler, itd). javiću ako budem imao nešto konkretno.
Acta, non verba!
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: varchar, straćen prostor, join i optimizacija24.12.2010. u 04:41 - pre 162 meseci
zavisi od storage engine-a i od jos po neceg ali

- varchar zauzima tacno onoliko rama koliko imas u polju, dakle nema "stracenog" prostora - tome sluzi onaj VAR deo
- nema nikakve veze da li radis join ili ne

Ono sto pravi razliku vezano za brzinu je da li je slog u tabeli statican ili dinamican. Ako imas bar jedno var* polje onda je slog dinamican. Tabela sa staticnim slogovima je brza (posebno kada je myisam u pitanju) ali zauzima vise memorije.

nadam se da je sad jasnije
b.
 
Odgovor na temu

[es] :: MySQL :: varchar, straćen prostor, join i optimizacija

[ Pregleda: 1347 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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