Pogledajte određenu poruku
Staro 22. 01. 2006.   #7
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

prvo, kao sto Dinke rece, enum se pamti kao broj, koji se onda mapira u zadati skup vrednosti (slicno je recimo u pascalu), TAKO DA JE VRLO EFIKASAN, plus ima prednost nad tynyint i ostalima, sto ne mozes da upises bilo sta u njega...

postoji doduse u mysql i BOOLEAN tip, ali je on za sada obican tinyint, pa mozes bez problema da upises recimo 15 ili 23 u njega, sto je malo glupo...ali najavljeno je da ce se uskoro implementirati pravi bool, sto bi znacilo da prihvata samo 0/1, true/false, yes/no i sl... prednost ovog tipa je sto je on logicniji izbor od enum (kad neko pogleda bazu bice mu odmah jasno cemu sluzi polje) i sto ce u buducnosti moci da se lako prebaci da bude pravi bulijan, ili ako se menja baza, isto tako...

drugo, rad sa poljima fixnih duzina je brzi samo ako su svi podaci u tabeli fixne duzine, jer je onda seek na neki n-ti record mnogo brzi, moze da se izracuna potreban offset u fajlu unapred kao n x velicina rekorda...cim imas jedno varijabilno polje u tabeli, ta prica pada u vodu...

takodje ako su ostali podaci fixne duzine, mysql ce automatski da promeni svaki VARCHAR kraci od 3 u CHAR, tako da IMHO na kraju krajeva je prilicno svejedno jel ces da stavis varchar(1) ili tinyint ili enum...svi ce ti zauzeti po jedan byte, i svima ce pretraga po indexu da radi binarno i vrlo brzo...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat