Szoval van egy rengeteg rekordot tartalmazo innodb tablam, amiben egy boolean erteket is kene hatekonyan tarolnom, az esetek 80-90%-aban false (esetleg '0' vagy 0) az ertek. A kerdes az, hogy jobb-e az, ha megadom a default false (vagy 0, vagy '0') erteket az uj oszlop definiciojanal, vagy 1 byte-os oszlop eseten tok mindegy?
Azaz x tinyint default 0 vagy x char(1) default 'n' esetleg x tinyint vagy x char(1)
- 3321 megtekintés
Hozzászólások
Esetleg enum('0','1') ?
pch
--
http://www.buster.hu "A" számlázó
--
- A hozzászóláshoz be kell jelentkezni
Szerintem a sorok tárolása szempontjából mindegy, csak insertnek számít, hogy van-e default vagy nincs. Én meg úgy általában nem szeretem a default értékeket és ezt szeretem egy ORM-re vagy hasonlóra bízni.
- A hozzászóláshoz be kell jelentkezni
fixme, de kereseskor a tinyint egy "and" muvelet, mig egy string osszehasonlito kicsit bonyolultabb.
bar ez nem valasz a kerdesedre :)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Maga a default szerintem tök mindegy, ami szerintem fontosabb, hogy not null legyen. Ekkor viszont megkövetel (vagy automatán beállít) egy default-ot.
Amúgy unicode és egyéb okok miatt a char(1) helyett tinyint(1)-et választanék a fentiek közül, egyébként van bit típus is.
Szóval szerintem tinyint(1) not null default 0
- A hozzászóláshoz be kell jelentkezni
Pont erről szól ez a konferencia: http://www.percona.com/live/mysql-conference-2015/
Off: Én is el szerettem volna menni, de a cégem nem engedélyezte, már 7-800e Ft-nál tartottunk és még nem ettem volna semmit...
- A hozzászóláshoz be kell jelentkezni
kossz a reklamot, majd jattolj le azert ;-)
--
"Van olyan ember sok az oldalon, akinek a kommentjeinek 100%-a zaj, oket miert nem kommentelitek ilyen lelkesen?" (hrgy84)
- A hozzászóláshoz be kell jelentkezni