Untuk SQL Server:hingga 8 kolom jenis BIT
dapat disimpan di dalam satu byte, sedangkan setiap kolom bertipe CHAR(1)
akan memakan waktu satu byte.
Di sisi lain:BIT
kolom dapat memiliki dua nilai (0 =false, 1 =true) atau tidak memiliki nilai sama sekali (NULL) - sementara CHAR(1)
dapat memiliki nilai karakter apa pun (lebih banyak kemungkinan)
Jadi sungguh, itu tergantung pada:
- apakah Anda benar-benar membutuhkan kolom benar/salah (ya/tidak)? Jika demikian:gunakan
BIT
- apakah Anda memerlukan sesuatu dengan lebih dari dua kemungkinan nilai - gunakan
CHAR(1)
Saya tidak berpikir itu membuat perbedaan yang signifikan, dari sudut pandang kinerja - kecuali jika Anda memiliki puluhan ribu kolom. Kemudian tentu saja, menggunakan BIT
yang dapat menyimpan hingga 8 kolom dalam satu byte akan bermanfaat. Tetapi sekali lagi:untuk kasus basis data "normal" Anda, di mana Anda memiliki beberapa, selusin kolom, itu benar-benar tidak membuat perbedaan besar. Pilih jenis kolom yang sesuai dengan kebutuhan Anda - jangan terlalu mengkhawatirkan performa.....