Integer of Enum?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Micha

Micha

02/03/2007 18:07:00
Quote Anchor link
Hallo!

Ik ben bezig met de optimale databasestructuur te bedenken voor een grote website.
Nu vroeg ik me alleen af wat beter is..
Een integer of enum?

Is bijvoorbeeld voor het activeren van een account enum('0','1') beter, of tinyint(1)?

En voor het opslaan van geslacht, wat is dan beter? Ook tinyint en in het script uitlezen, of enum('Man','Vrouw') ?

Ik hoop dat iemand me hier wat over kan vertellen!
 
PHP hulp

PHP hulp

23/04/2024 08:35:14
 
- SanThe -

- SanThe -

02/03/2007 18:15:00
Quote Anchor link
Voor 0 of 1 zou ik een boolean nemen. (true/false)
 
Robert Deiman

Robert Deiman

02/03/2007 19:01:00
Quote Anchor link
@Micha

Voor het geslacht zou ik een enum nemen, man of vrouw. Het voordeel is dat je deze mogelijkheden uit kan lezen uit je tabel. Deze kan je dan ook in je script gebruiken. Stel dat je later nog een optie toe wil voegen (niet erg logisch bij geslacht, maar bijvoorbeeld "wil niet zeggen") Dan voeg je die optie toe aan je enum en het script verwerkt het.
Maar het echte voordeel van Enum is dat er nooit wat anders in het veld kan komen te staan dan die opties.
 
Martijn B

Martijn B

02/03/2007 19:34:00
Quote Anchor link
Maakt volgens mij niets uit omdat ze beiden 1 byte groot zijn.

enum zou trouwens ook 2 byte kunnen zijn.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Willem Jan Z

Willem Jan Z

02/03/2007 19:40:00
Quote Anchor link
SanThe schreef op 02.03.2007 18:15:
Voor 0 of 1 zou ik een boolean nemen. (true/false)

Boolean is niks anders dan een TINYINT(1) kwam ik pas achter.
 
Jan Koehoorn

Jan Koehoorn

02/03/2007 19:44:00
Quote Anchor link
Als je zeker weet dat het altijd een veld met maximaal twee waardes blijft, kun je net zo goed een TINYINT nemen. Ik neem aan, maar dat heb ik niet getest, dat checks op grote tabellen sneller gaan op een integer, dan op een string. De waardes in een ENUM zijn vaak strings en daarop test een DB over het algemeen trager dan op een integer.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.