Oracle Varchar2: byte vs. Char - Perbezaan penyimpanan data penting
Reka bentuk pangkalan data Oracle yang cekap bergantung pada pemahaman nuansa dan BYTE
apabila menentukan CHAR
lajur. Artikel ini menjelaskan perbezaan utama mereka untuk pengendalian data yang optimum. VARCHAR2
3
menetapkan bilangan maksimum aksara. VARCHAR2
BYTE
Pertimbangkan definisi jadual ini: CHAR
BYTE
CHAR
. Memandangkan Oracle moden menggunakan pengekodan UTF-8 (secara lalai), watak multi-bait (biasa dalam bahasa bukan bahasa Inggeris) mungkin melebihi had 11-bait, yang berpotensi memangkas data.
Contoh kedua, bagaimanapun, menjamin ruang yang cukup untuk 11 aksara, tanpa mengira saiz byte mereka (sehingga 4 bait per aksara dalam UTF-8).<code class="language-sql">CREATE TABLE CLIENT ( NAME VARCHAR2(11 BYTE), ID_CLIENT NUMBER )</code>
<code class="language-sql">CREATE TABLE CLIENT ( NAME VARCHAR2(11 CHAR), -- or VARCHAR2(11) ID_CLIENT NUMBER )</code>
had penyimpanan oleh bait, bukan aksara. Ini penting untuk data berbilang bahasa atau data yang mengandungi aksara khas. Memilih jenis data yang betul adalah penting untuk kedua -dua kecekapan penyimpanan dan integriti data. NAME
Atas ialah kandungan terperinci Byte vs Char di Oracle Varchar2: Apakah perbezaan dalam penyimpanan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!