sql >> Databáze >  >> RDS >> Sqlserver

SQL:Co je lepší bit nebo znak (1)

Pro SQL Server:až 8 sloupců typu BIT lze uložit do jednoho bajtu, přičemž každý sloupec typu CHAR(1) zabere jeden bajt.

Na druhou stranu:BIT sloupec může mít dvě hodnoty (0 =nepravda, 1 =pravda) nebo žádnou hodnotu (NULL) – zatímco CHAR(1) může mít libovolnou hodnotu znaku (mnohem více možností)

Takže opravdu jde o:

  • opravdu potřebujete pole true/false (ano/ne)? Pokud ano:použijte BIT
  • potřebujete něco s více než dvěma možnými hodnotami - použijte CHAR(1)

Nemyslím si, že to dělá nějaký významný rozdíl, z hlediska výkonu - pokud nemáte desítky tisíc sloupců. Pak samozřejmě pomocí BIT který může uložit až 8 sloupců v jednom byte, by bylo prospěšné. Ale znovu:pro váš "normální" databázový případ, kde těch sloupců máte pár, tucet, to opravdu není velký rozdíl. Vyberte typ sloupce, který vyhovuje vašim potřebám - nebojte se o výkon......



  1. Naplnit JFreechart TimeSeriesCollection z Mysql DB?

  2. Získání prvního dne v týdnu v MySql pomocí týdne č

  3. Jak mohu v Oracle zkombinovat více řádků do seznamu odděleného čárkami?

  4. Spuštění SQL skriptu přes psql dává syntaktické chyby, které se v PgAdmin nevyskytují