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

Pitanje oko širine kolone

[es] :: MySQL :: Pitanje oko širine kolone

[ Pregleda: 1055 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Pitanje oko širine kolone25.06.2010. u 19:52 - pre 168 meseci
U uputstvu sa sajta sam video da ako imamo u polju tipa varchar(4) podatak 'a' onda taj podatak zauzima 2 bajta. Ako imamo 'aa' onda to zauzima 3 bajta itd. Imam problem sa pojedinim poljima što ne znam tačno kolika dužina bi trebala da bude. Tj. pretpostavljam ali nikad se ne zna šta ljudima može na pamet da padne i rekoh da ne zakucavam bez potrebe polje na manju vrednost kad mogu na veću. Na primer ako za pomenuto polje stavim varchar(20) i ako ubacim vrednost 'aa' da li to znači da će mi to polje i dalje zauzimati 3 bajta? U čemu je štos oko dužina ovih polja?
 
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: Pitanje oko širine kolone25.06.2010. u 20:06 - pre 168 meseci
zavisi od karakter seta, varchar ima neki "header" koji je 1-10 bajtova zavisi od mnogo cega koji ne zavisi od sadrzaja polja i imas "podatak" koji se cuva a koji zavisi od karakter seta, ako je latin1 onda svaki karakter zauzima jedan bajt, ako je utf8 onda svaki karakter zauzima 3 bajta etc...

ako uzmes na primer da je polje tipa char(200) to polje za podatak (header zaboravi) uvek trosi 200 karaktera ... i ako u njega upises "aa" i ako u njega upises "aaaaaaaaaaaaaaaaaaaa". ono sto je dobro kod takvog polja je ako su "sva" polja u tabeli "fixne duzine" onda je i slog fixne duzine te se 1000 slog u tabeli nalazi lako (nalazi sa na poziciji 1000*velicina sloga) dok ako je slog "varijabilne duzine" kao u slucaju kada je varchar(200) onda se 1000 slog nalazi tako sto se ili jure pointeri na njega (iz indexa) ili tako sto se trci kroz slogove da bi se doslo do njega.... sve u svemu, matematika nalazenja sloga postaje kompleksnija tako da ako imas slog fixne duze neke operacije sa tabelom su brze dok ako imas slog varijabilne duzine tabela moze da zauzima mnogo manje mesta (i samim tim sve bude brze zato sto mozes da iskesiras veci deo tabele)... nalazenje optimuma izmedju char() i varchar() zahteva mnogo vise znanja i iskustva nego sto ja mogu da prenesom jednim odgovorom na forumu ... ali mislim da imas dovoljno informacija da svatis sustinu razlike
 
Odgovor na temu

[es] :: MySQL :: Pitanje oko širine kolone

[ Pregleda: 1055 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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