Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa saya tidak bisa membatasi nvarchar(max)?

nvarchar(max) benar-benar tipe data yang berbeda dari nvarchar(integer-length) . Karakteristiknya lebih seperti text yang tidak digunakan lagi tipe data.

Jika nvarchar(max) nilainya menjadi terlalu besar, seperti text , itu akan disimpan di luar baris (baris dibatasi hingga maksimum 8000 byte) dan penunjuk ke baris itu disimpan di baris itu sendiri. Anda tidak dapat secara efisien mengindeks bidang sebesar itu dan fakta bahwa data dapat disimpan di tempat lain semakin memperumit pencarian dan pemindaian indeks.
Sebuah batasan unik memerlukan indeks untuk ditegakkan dan sebagai hasilnya, desainer SQL Server memutuskan untuk melarang membuat batasan unik di atasnya.



  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 - Pivot beberapa kolom tanpa Agregat

  2. Memutakhirkan SQL Server 2000 hingga 2005 atau 2008 - DTS ke SSIS

  3. bagaimana cara menggabungkan nilai dari pivot?

  4. Ubah gumpalan VarBinary RTF menjadi teks di MS SQL

  5. Memasukkan dari dua tabel lain ke tabel ketiga