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

Защо не мога да поставя ограничение на nvarchar(max)?

nvarchar(max) наистина е различен тип данни от nvarchar(integer-length) . Характеристиките му приличат повече на остарелия text тип данни.

Ако nvarchar(max) стойността става твърде голяма, като text , ще се съхранява отнавън реда (един ред е ограничен до максимум 8000 байта) и указател към него се съхранява в самия ред. Не можете ефективно да индексирате толкова голямо поле и фактът, че данните могат да се съхраняват някъде другаде, допълнително усложнява търсенето и сканирането на индекса.
Уникалното ограничение изисква налагане на индекс и в резултат на това дизайнерите на SQL Server решиха да забранят създаване на уникално ограничение върху него.



  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 сървър 2008 от друг компютър

  2. Вземете върната стойност от съхранена процедура в asp.net

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

  4. SQL Server дял на таблица на Tenant ID - използвано дисково пространство

  5. Колко размер заема стойността Null в SQL Server