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

Jakou velikost má hodnota Null na serveru SQL Server

Pokud je šířka pole pevná, uložení NULL zabere stejné místo jako jakákoli jiná hodnota – šířka pole.

Pokud má pole proměnnou šířku, hodnota NULL nezabírá žádné místo.

Kromě prostoru potřebného k uložení hodnoty null existuje také režie pro sloupec s možností null. Pro každý řádek je použit jeden bit na sloupec s možnou hodnotou null k označení, zda je hodnota pro tento sloupec nulová nebo ne. To platí bez ohledu na to, zda má sloupec pevnou nebo proměnnou délku.

Důvod nesrovnalostí, které jste zaznamenali v informacích z jiných zdrojů:

  • Začátek prvního článku je trochu zavádějící. Článek nehovoří o nákladech na uložení NULL hodnoty, ale o nákladech na schopnost k uložení NULL (tj. náklady na vytvoření sloupce s nulovou hodnotou). Je pravda, že v úložném prostoru něco stojí, aby sloupec mohl mít hodnotu null, ale jakmile to uděláte, zabere uložení NULL méně místa než uložení hodnoty (u sloupců s proměnnou šířkou).

  • Zdá se, že druhý odkaz je otázka týkající se Microsoft Access. Neznám podrobnosti o tom, jak Access ukládá hodnoty NULL, ale nepřekvapilo by mě, kdyby to bylo jiné než SQL Server.



  1. Zkoumání chyby ORA 02063 DG4ODBC

  2. Jak navrhnout databázi cestovního webu

  3. SQL CREATE TABLE … AS Příkaz SELECT

  4. Vytvoření vlastní bitové kopie SQL Server Docker nad oficiální bitovou kopií