Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL:Какво е по-добре бит или символ (1)

За SQL Server:до 8 колони от тип BIT може да се съхранява в един байт, докато всяка колона от тип CHAR(1) ще заеме един байт.

От друга страна:BIT колоната може да има две стойности (0 =false, 1 =вярно) или изобщо да няма стойност (NULL) - докато CHAR(1) може да има всякаква стойност на символа (много повече възможности)

Така че наистина, всичко се свежда до:

  • наистина ли се нуждаете от поле true/false (да/не)? Ако е така:използвайте BIT
  • Имате ли нужда от нещо с повече от само две възможни стойности - използвайте CHAR(1)

Не мисля, че има съществена разлика от гледна точка на производителността - освен ако нямате десетки хиляди колони. След това, разбира се, с помощта на BIT който може да съхранява до 8 колони в един байт би било полезно. Но отново:за вашия "нормален" случай на база данни, където имате няколко, дузина от тези колони, това наистина няма голяма разлика. Изберете типа колона, който отговаря на вашите нужди - не се тревожете прекалено за представянето.....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Избор на процесор за SQL Server 2014 – част 2

  2. Защо изпълнението на съхранени процедури е по-бързо от SQL заявката от скрипт?

  3. Използване на колона за сортиране в таблица на база данни

  4. T-SQL Как да създавам динамично таблици в съхранени процедури?

  5. Използване на NOLOCK Hint в EF4?