Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL:Co jest lepsze Bit czy char(1)

Dla SQL Server:do 8 kolumn typu BIT mogą być przechowywane w jednym bajcie, podczas gdy każda kolumna typu CHAR(1) zajmie jeden bajt.

Z drugiej strony:BIT kolumna może mieć dwie wartości (0 =fałsz, 1 =prawda) lub w ogóle nie mieć wartości (NULL) - podczas gdy CHAR(1) może mieć dowolną wartość znakową (dużo więcej możliwości)

Tak naprawdę sprowadza się to do:

  • czy naprawdę potrzebujesz pola prawda/fałsz (tak/nie)? Jeśli tak:użyj BIT
  • czy potrzebujesz czegoś z więcej niż tylko dwiema możliwymi wartościami - użyj CHAR(1)

Nie sądzę, aby miało to jakiekolwiek znaczenie z punktu widzenia wydajności — chyba że masz dziesiątki tysięcy kolumn. Potem oczywiście za pomocą BIT które mogą przechowywać do 8 kolumn w jednym bajcie, byłoby korzystne. Ale znowu:w przypadku „normalnej” bazy danych, w której masz kilka, kilkanaście takich kolumn, to naprawdę nie ma większego znaczenia. Wybierz typ kolumny, który odpowiada Twoim potrzebom - nie przejmuj się zbytnio wydajnością...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać domyślne ograniczenie do istniejących kolumn w tabeli SQL Server — samouczek SQL Server/TSQL — część 91

  2. Jak programowo utworzyć tabelę połączoną ODBC z widokiem SQL Server i czy można ją edytować?

  3. PARSE() vs CAST() vs CONVERT() w SQL Server:jaka jest różnica?

  4. Zmień typ kolumny z liczbami z varchar na int

  5. Ustawienie limitu czasu dla SQL Server