sql >> Database >  >> RDS >> Sqlserver

SQL:Wat is beter een bit of een char(1)

Voor SQL Server:maximaal 8 kolommen van het type BIT kan worden opgeslagen in een enkele byte, terwijl elke kolom van het type CHAR(1) neemt één byte in beslag.

Aan de andere kant:een BIT kolom kan twee waarden hebben (0 =false, 1 =true) of helemaal geen waarde (NULL) - terwijl een CHAR(1) kan elke tekenwaarde hebben (veel meer mogelijkheden)

Dus eigenlijk komt het neer op:

  • heb je echt een waar/onwaar (ja/nee) veld nodig? Zo ja:gebruik BIT
  • heb je iets nodig met meer dan slechts twee mogelijke waarden - gebruik CHAR(1)

Ik denk niet dat het een significant verschil maakt, vanuit het oogpunt van prestaties - tenzij je tienduizenden kolommen hebt. Dan natuurlijk, met behulp van BIT die tot 8 kolommen in een enkele byte kan opslaan, zou gunstig zijn. Maar nogmaals:voor je "normale" database-geval, waar je een paar, een dozijn van die kolommen hebt, maakt het echt geen groot verschil. Kies het kolomtype dat aan uw behoeften voldoet - maak je niet al te veel zorgen over de prestaties.....



  1. Automatisch databasediagram genereren MySQL

  2. FlySpeed ​​SQL-query verbinden met Salesforce.com

  3. Tips en trucs van Postgres

  4. Gebruik sp_depends niet in SQL Server (het is verouderd)