Perbedaan antara char dan varchar
- 1425
- 427
- Virgil Hartmann IV
Keduanya adalah tipe data dalam banyak bahasa pemrograman dan sistem basis data di mana 'char' mengacu pada karakter dan 'varchar' mengacu pada karakter variabel. Char in c mewakili tipe karakter yang digunakan untuk menyimpan nilai string, sebagian besar karakter dan bilangan bulat dan bilangan bulat UTF-8. Varchar, di sisi lain, adalah tipe data yang dapat berisi data dari semua jenis panjang yang tidak ditentukan. Varchar mengacu pada tipe data bidang dalam sistem manajemen database. Sementara keduanya dapat menyimpan nilai string hingga panjang maksimum 8.000 karakter, char membutuhkan lebih banyak penyimpanan daripada varchar. Secara teknis, keduanya digunakan untuk menyimpan jenis data yang sama tetapi mereka berbeda dalam cara mereka disimpan dan diambil. Mari kita lihat perbedaan mereka secara detail.
Apa itu char?
Char adalah tipe data panjang tetap yang digunakan untuk menyimpan karakter non-unicode, maka namanya (kependekan dari karakter). Ini menempati satu byte ruang untuk setiap karakter yang dikodekan sebagai angka - yang dari pengkodean ASCII. Jenis char juga dapat digunakan untuk mendeklarasikan bilangan bulat kecil. Untuk mendeklarasikan variabel karakter, kata kunci 'char' digunakan, yang berarti satu karakter disimpan dalam satu byte.
Seperti jenis integer, char dapat ditandatangani atau tidak ditandatangani. Ini dapat menahan nilai char yang ditandatangani mulai dari -128 hingga 127 dan tergantung pada ukuran arsitektur, itu juga dapat tidak ditandatangani, memegang nilai mulai dari 0 hingga 255. Saat nilai char disimpan, mereka ditaburi dengan ruang kanan dengan panjang yang ditentukan. Ruang trailing dilepas saat diambil.
Misalnya - jika Anda mendeklarasikan variabel tipe data char (7), maka itu akan selalu membutuhkan 7 byte data terlepas dari apakah Anda menyimpan 1 karakter atau 7 karakter, yang berarti Anda dapat menyimpan maksimal 7 karakter di kolom.
Apa itu varchar?
Varchar, seperti namanya, adalah tipe data panjang variabel yang dapat berisi semua jenis data dengan panjang yang bervariasi dari 0 hingga 65.535. Varchar Field dapat menyimpan nilai dari ukuran apa pun hingga batas tertentu, tergantung pada database. Itu dapat didefinisikan baik dalam bahasa pemrograman atau di tingkat database. Ukuran bidang varchar dapat berupa apa saja dari nol hingga panjang bidang yang dinyatakan maksimum.
Untuk mendeklarasikan karakter variabel, kata kunci 'varchar' digunakan. Varchar mengambil ruang variabel, yang berarti hanya akan menggunakan jumlah byte yang sama dengan jumlah karakter. Ini membantu menghindari pemborosan ruang karena hanya menggunakan ruang yang dibutuhkan untuk ukuran string. Dalam beberapa bahasa pemrograman dan sistem basis data, ruang tambahan apa pun dihapus secara otomatis dari database.
Misalnya - jika Anda mendeklarasikan variabel varchar (10), itu akan menggunakan jumlah byte yang sama dengan jumlah karakter. Jadi, jika Anda hanya menyimpan satu karakter, maka hanya akan membutuhkan satu byte dan jika Anda menyimpan 10 karakter, itu akan membutuhkan 10 byte, sehingga menghindari pemborosan ruang basis data.
Perbedaan antara char dan varchar
- Tipe data
'Char' adalah tipe data panjang tetap yang digunakan untuk menyimpan nilai string karakter dari panjang tetap, sedangkan 'varchar' adalah tipe data panjang variabel yang digunakan untuk menyimpan data alfanumerik panjang variabel.
- Ukuran penyimpanan
Ukuran penyimpanan nilai karakter sama dengan ukuran maksimum kolom ini yang Anda nyatakan saat membuat tabel. Di sisi lain, ukuran penyimpanan nilai varchar adalah panjang aktual dari data yang dimasukkan, bukan ukuran maksimum untuk kolom ini.
- Entri data
Anda dapat menggunakan char ketika entri data dalam kolom diharapkan memiliki ukuran yang sama, sedangkan sebaliknya, Varchar dapat digunakan ketika entri data dalam kolom diharapkan bervariasi dalam ukuran.
- Alokasi memori
Char menggunakan alokasi memori statis sementara Varchar menggunakan alokasi memori dinamis
- Panjang
Panjang variabel char dapat bernilai dari 0 hingga 255, sedangkan panjang variabel varchar berkisar dari 0 hingga 65.535.
- Aplikasi
Entri data konsisten dalam char yang digunakan untuk menyimpan data seperti nomor telepon, sedangkan varchar digunakan untuk menyimpan berbagai data seperti alamat.
Char vs. Varchar
Arang | Varchar |
Digunakan untuk menyimpan nilai string karakter dengan panjang tetap. | Digunakan untuk menyimpan data alfanumerik dengan panjang variabel. |
Panjangnya bervariasi dari 0 hingga 255. | Panjangnya bervariasi dari 0 hingga 65.535. |
Mengambil 1 byte per karakter untuk penyimpanan. | Mengambil 1 byte per karakter ditambah 1 atau 2 byte tambahan untuk menyimpan informasi panjang. |
Ukuran penyimpanan char sama dengan yang dinyatakan. | Ukuran penyimpanan varchar tergantung pada string spesifik yang disimpan. |
Menggunakan alokasi memori statis. | Menggunakan alokasi memori dinamis. |
Char harus digunakan saat panjang variabel diketahui. | Varchar harus digunakan hanya jika panjang variabel tidak diketahui. |
Itu hanya menerima karakter. | Itu menerima karakter dan angka. |
50 persen lebih cepat dari varchar. | Lebih lambat dari char. |
Ukuran penyimpanan nilai arang sama dengan ukuran maksimum untuk kolom. | Ukuran penyimpanan nilai varchar sama dengan panjang aktual data yang dimasukkan, bukan ukuran maksimum untuk kolom. |
Ringkasan
- Baik 'char' dan 'varchar' adalah tipe data dalam bahasa pemrograman dan sistem basis data yang berbagi beberapa sifat umum dalam hal fungsionalitas dan teknis. Namun, mereka sangat berbeda seperti cara mereka disimpan dan diambil.
- Sementara char sebenarnya mengacu pada karakter, Varchar mengacu pada karakter variabel. Seperti namanya, char adalah tipe data panjang tetap sedangkan varchar adalah tipe data panjang variabel.
- Char mengambil hingga 1 byte per karakter, sedangkan Varchar juga membutuhkan hingga 1 byte per karakter ditambah ekstra 1 atau 2 byte untuk menyimpan informasi panjang. Untuk char, panjangnya bervariasi dari 0 hingga 255 dan untuk varchar, itu bisa berupa apa saja antara 0 dan 65.535.
- Karena char tetap panjang, ruang tersisa di lapangan empuk dengan kosong. Varchar, di sisi lain, adalah panjang variabel sehingga hanya memegang karakter yang Anda tetapkan untuk itu.
- Karakter yang tersisa empuk dengan ruang putih saat nilai disimpan di bidang 'char', sedangkan 'varchar' tidak menambahkan spasi tambahan saat Anda memberikan data yang lebih sedikit daripada panjang yang ditentukan.