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

Perbedaan antara tipe string yang berbeda di SQL Server?

text dan ntext sudah usang, jadi mari kita hilangkan sejenak. Untuk apa yang tersisa, ada 3 dimensi:

  • Unicode (UCS-2) vs. non-unicode:N di depan namanya menunjukkan Unicode
  • Panjang tetap vs. panjang variabel:var menunjukkan variabel, jika tidak tetap
  • Sebaris vs. BLOB:(max) sebagai panjang menunjukkan BLOB, jika tidak adalah nilai dalam-baris

Jadi dengan ini, Anda dapat membaca arti jenis apa pun:

  • CHAR(10) :adalah panjang tetap dalam baris non-Unicode ukuran 10
  • NVARCHAR(256) :adalah panjang variabel dalam baris Unicode dengan ukuran hingga 256
  • VARCHAR(MAX) :adalah panjang variabel BLOB non-Unicode

Jenis text yang tidak digunakan lagi dan ntext sesuai dengan tipe baru varchar(max) dan nvarchar(max) masing-masing.

Ketika Anda pergi ke detail, arti dari in-row vs. BLOB kabur untuk waktu yang kecil karena mesin mungkin optimalkan penyimpanan dan tarik BLOB in-row atau dorong nilai in-row ke dalam unit alokasi 'small BLOB', tetapi ini hanyalah detail implementasi. Lihat Organisasi Tabel dan Indeks .

Dari sudut pandang pemrograman, semua jenis:CHAR , VARCHAR , NCHAR , NVARCHAR , VARCHAR(MAX) dan NVARCHAR(MAX) , mendukung API string seragam:Fungsi String . Yang lama, tidak digunakan lagi, mengetik TEXT dan NTEXT jangan jangan mendukung API ini, mereka memiliki API TEXT terpisah, usang, untuk dimanipulasi. Anda tidak boleh menggunakan tipe yang sudah usang.

Jenis BLOB mendukung pembaruan di tempat yang efisien dengan menggunakan kolom UPDATE table SET column.WRITE(@value, @offset) sintaks.

Perbedaan antara tipe panjang tetap dan panjang variabel hilang saat kompresi baris pada tabel. Dengan mengaktifkan kompresi baris, jenis panjang tetap dan panjang variabel disimpan dalam format yang sama dan spasi tambahan tidak disimpan di disk, lihat Implementasi Kompresi Baris . Perhatikan bahwa kompresi halaman menyiratkan kompresi baris.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kehilangan nilai nol memfilter hasil kueri sql menggunakan where

  2. Dapatkan Informasi Tampilan dengan Tampilan Skema Informasi VIEWS di SQL Server

  3. Perbarui semua kecuali satu catatan duplikat dalam tabel di SQL Server

  4. Membuat Tabel yang Dipartisi di SQL Server (T-SQL)

  5. 5 Cara Mengembalikan Baris yang Mengandung Huruf Kecil di SQL Server