TEXT
dan VarChar(MAX)
tipe data karakter Panjang Variabel Panjang Non-Unicode, yang dapat menyimpan maksimum 2147483647 karakter Non-Unicode (yaitu kapasitas penyimpanan maksimum adalah: 2GB).
- Yang mana yang akan digunakan?
Sesuai tautan MSDN, Microsoft menyarankan untuk tidak menggunakan datatype Teks dan itu akan dihapus dalam versi Sql Server yang akan datang. Varchar (Max) adalah tipe data yang disarankan untuk menyimpan nilai string besar, bukan tipe data teks.
- Penyimpanan In-Row atau Out-of-Row
Data Text
kolom tipe disimpan di luar baris dalam halaman data LOB yang terpisah. Baris di halaman data tabel hanya akan memiliki pointer 16 byte ke halaman data LOB di mana data aktual hadir. Sedangkan Data dari Varchar(max)
kolom tipe disimpan dalam baris jika kurang dari atau sama dengan 8000 byte. Jika nilai kolom Varchar (max) melewati 8000 byte, maka nilai kolom Varchar (max) disimpan dalam halaman data LOB terpisah dan baris hanya akan memiliki pointer 16 byte ke halaman data LOB di mana data aktual hadir. Jadi In-Row
Varchar (Max) baik untuk pencarian dan pengambilan.
- Fungsi yang Didukung / Tidak Didukung
Beberapa fungsi string, operator atau konstruksi yang tidak berfungsi pada kolom Jenis teks, tetapi mereka bekerja pada kolom tipe VarChar (Max).
=
Setara dengan Operator pada kolom tipe VarChar (Max)
Kelompokkan dengan klausa pada kolom tipe VarChar (Max)
Seperti yang kita ketahui bahwa nilai kolom tipe VarChar (Max) disimpan di luar baris hanya jika panjang nilai yang akan disimpan di dalamnya lebih dari 8000 byte atau tidak ada cukup ruang di baris, jika tidak maka akan menyimpan itu berturut-turut. Jadi jika sebagian besar nilai yang disimpan di kolom VarChar (Max) berukuran besar dan disimpan di luar baris, perilaku pengambilan data akan hampir mirip dengan yang ada di kolom tipe Teks.
Tetapi jika sebagian besar nilai yang disimpan di kolom tipe VarChar (Max) cukup kecil untuk disimpan di baris. Kemudian pengambilan data di mana kolom LOB tidak termasuk memerlukan lebih banyak jumlah halaman data untuk dibaca karena nilai kolom LOB disimpan dalam baris di halaman data yang sama di mana nilai-nilai kolom non-LOB disimpan. Tetapi jika kueri pemilihan menyertakan kolom LOB maka itu membutuhkan lebih sedikit jumlah halaman untuk dibaca untuk pengambilan data dibandingkan dengan kolom tipe Teks.
Kesimpulan
Gunakan VarChar(MAX)
tipe data daripada TEXT
untuk kinerja yang baik.
Sumber