For SQL Server:op til 8 kolonner af typen BIT kan gemmes inde i en enkelt byte, mens hver kolonne af typen CHAR(1) optager en byte.
På den anden side:en BIT kolonne kan have to værdier (0 =falsk, 1 =sand) eller slet ingen værdi (NULL) - mens en CHAR(1) kan have en hvilken som helst tegnværdi (meget flere muligheder)
Så egentlig handler det om:
- har du virkelig brug for et sandt/falsk (ja/nej) felt? Hvis ja:brug
BIT - har du brug for noget med mere end blot to mulige værdier - brug
CHAR(1)
Jeg tror ikke, det gør nogen væsentlig forskel, set ud fra et præstationsmæssigt synspunkt – medmindre du har titusindvis af kolonner. Så selvfølgelig ved at bruge BIT som kan gemme op til 8 kolonner i en enkelt byte ville være en fordel. Men igen:for dit "normale" databasetilfælde, hvor du har nogle få, et dusin af disse kolonner, gør det virkelig ikke den store forskel. Vælg den kolonnetype, der passer til dine behov - vær ikke bekymret for ydeevne.....