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

Dlaczego nie mogę nałożyć ograniczenia na nvarchar(max)?

nvarchar(max) to naprawdę inny typ danych niż nvarchar(integer-length) . Jego cechy bardziej przypominają przestarzały text typ danych.

Jeśli nvarchar(max) wartość staje się zbyt duża, jak text , będzie przechowywany na zewnątrz wiersz (wiersz jest ograniczony do maksymalnie 8000 bajtów), a wskaźnik do niego jest przechowywany w samym wierszu. Nie można wydajnie indeksować tak dużego pola, a fakt, że dane mogą być przechowywane gdzie indziej, dodatkowo komplikuje wyszukiwanie i skanowanie indeksu.
Unikalne ograniczenie wymaga wymuszenia indeksu, w wyniku czego projektanci SQL Server zdecydowali się zabronić tworząc na nim unikalne ograniczenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP wywołujący skrypt bazy danych kopii zapasowej sqlserver, plik kopii zapasowej utworzony, a następnie usunięty

  2. Eksportowanie danych w SQL Server jako INSERT INTO

  3. Utwórz konto pocztowe bazy danych w programie SQL Server (T-SQL)

  4. Jak zaplanować codzienne uruchamianie zapytania SQL?

  5. Jak zmienić typ danych kolumny w SQL Server (T-SQL)