MySQL – Perbedaan Tipe Data Char Dan Varchar

Char dan Varchar adalah tipe data yang biasa digunakan untuk String. Pada dasarnya untuk String MySQL menyediakan beberapa tipe data, antara lain :

  1. Char
  2. Varchar
  3. Binary
  4. Varbinary
  5. Text
  6. Blob

Perbedaan mendasar dari ke enam tipe data tersebut adalah tentang cara penggunaan, ukuran penyimpanan dan pengaruh terhadap case-sensitive.

Namun pada artikel kali ini saya hanya akan membahas perbedaan antara dua tipe data saja yaitu Char dan Varchar. Kenapa hanya kedua ini? Karena pada awal-awal pembelajaran membuat data MySQL pastilah mereka hanya akan membuat data-data yang masih simple dan menggunakan kedua tipe data tersebut, namun masih memilih kebingungan perbedaan keduanya.

Beberapa perbedaan yang dapat kita lihat antara kedua tipe data tersebut adalah sebagai berikut :

1. Alokasi Ukuran Penyimpanan Berdasarkan Jumlah Karakter Yang di Input

Pada tipe data char, data yang dialokasikan masuk adalah hanya karakter yang terlihat. Misalnya seperti ini :

Atribut pada table A kita set tipe data char(5). Data yang di input adalah ‘Saya’ (4 karakter), namun MySQL akan tetap menyimpan dan dialokasikan sebagai 5 karakter. Dengan kata lain berapapun jumlah karakter yang di input dalam tipe data char selagi itu tidak lebih dari 5 karakter, MySQL akan tetap menyimpan dan mengalokasikan memori sebagai 5 karakter.

Hal itu berbeda dengan tipe data Varchar. Pada tipe data varchar, misalnya kita set tipe data Varchar(5) dan menginput data ‘Saya’ (4 karakter), maka dalam penyimpanan MySQL data tersebut akan disimpan dan dialokasikan memori untuk 4 karakter saja. Ini akan menghemat memori.

Tidak heran pada project-project besar, para developer diminta untuk teliti dalam memilih tipe data agar memori yang digunakan tidak useless.

Saya baca di forum luar, antara keduanya ini memiliki perbedaan saat penyimpanan (case project besar) yaitu dalam hal kecepatan menyimpan data.

Varchar memerlukan proses tambahan untuk menyimpan data yang masuk, karena varchar akan mengalokasikan memori penyimpana untuk jumlah karakter yang masuk, sedangkan char tidak sama sekali, karena ya seperti yang saya jelaskan sebelumnya, char akan menyimpan/mengalokasikan memori sesuai dengan jumlah yang di buat diawal (misalnya char(10)) tidak peduli berapapun karakternya, selagi itu tidak lebih dari alokasi awal.

Ilustrasi penyimpanan data antara Char dan Varchar :



Tipe Data Inputan Data Alokasi memory
Char(5) ” atau ‘ ‘ 5 byte
Char(5) ‘s’ 5 byte
Char(5) ‘sa’ 5 byte
Varchar(5) ” atau ‘ ‘ 1 byte
Varchar(5) ‘sa’ 3 byte
Varchar(5) ‘saya’ 5 byte


Data yang di input ” atau ‘ ‘ adalah string kosong, tidak ada karakter terlihat didalamnya.Lalu kenapa string kosong di input tetap memakan memory 1 byte? Karena karakter kosong masuk itu adalah bernilai 1byte di memory.

2. Penghilangan Karakter Spasi Di Belakang

Maksudnya karakter spasi dibelakang adalah kata/huruf tersebut tidak ada yang mengikuti lagi, misalnya :

‘Rambutan ‘, terlihat dibelakang huruf n ada spasi, namun tidak akan huruf setelah karakter spasi tersebut.

Case seperti tersebut juga berbeda cara penanganannya pada kedua tipe data diatas.

Untuk tipe data Char, akan menyimpan data tersebut tetap sebagai ‘Rambutan’ ( tidak ada spasinya), sedangkan tipe data Varchar akan menyimpan data tersebut sebagai ‘Rambutan ‘ (ada spasi)

3. Case Sensitive 

Case sensitive adalah suatu penanganan data dimana MySQL akan membedakan antara Huruf Kecil dan Huruf Besar. Antara Huruf Besar dan Huruf Kecil terdapat perbedaan ukuran Bit.

Baca juga (Perbedaan Antara Byte dan Bit)

Pada type data Char dan Varchar, Case Sensitive tidak berlaku. Hal tersebut akan berlaku pada tipe data Binary dan Varbinary.

Untuk lebih jelasnya tentang Binary dan Varbinary, silakan nantikan postingan saya selanjutnya tentang Perbedaan tipe data binary dan varbinary

Mungkin itulah yang bisa saya sampaikan tentang perbedaan antara tipe data Char dan Varchar. Sebagian besar pengetahuan tersebut saya dapat dari bangku kuliah kemarin, jika teman-teman ada yang punya pendapat lain, bisa di tambahkan di kolom komentar, jika sesuai saya akan update lagi artikelnya. Semoga bermanfaat.

(Visited 414 times, 1 visits today)



Baca juga :


About The Author

Related Posts

Add Comment

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini