区別MySQLのCHAR(10)とvarchar(10)されています

DROP  TABLEのtest_stringを。

CREATE  TABLEの test_string(col_charのCHAR10 )、
col_varchar VARCHAR10 ))。

INSERT  INTO `test_string`のVALUES' mysqlの'' mysqlの');

あなたは、データベースのテーブルを作成すると、データベースのデータ型のデータの文字列型の定義を与えるために、一般的な参照は、charまたはvarchar型であるが、時には人々は今、両者の違いをまとめる、非常にもつれ両方を選択します:

(1)固定長CHAR、VARCHARは、長さを変化させることができます。

たとえば、CHAR(10)のための文字列「のmysql」、あなたは(ヌル文字5を含む)10のバイトを格納したアカウントを表す文字列を格納します。

ながら同じVARCHAR(10)だけが格納された文字が10未満、メモリの実際の長さである場合、長さが5つのバイトを占有し、その上限10。

VARCHARの効率よりもわずかに高い(2)CHAR効率。

使用するデータへのアクセスの時、char型は、(トリム)余分なスペースが必要とされていない削除とvarchar。

それは固定長、収納に便利と検索手順であるので、それにも関わらず、varchar型またはcharよりアクセス数がはるかに高速です。

しかし、チャーは、それは確かに時間効率とスペース効率のためのスペースであるvarchar型最初の場所なので、必然的に余分なスペースプレースホルダは、スペースを占有があるでしょう、なぜならその固定長で、スペースのコストを支払うこともあります。

入力データの文字数が10よりも小さい場合(3)CHAR(10)、システムは自動的に後続のセットにおいて良好な空間を充填するスペースを追加します。入力データが長すぎる場合、それは余分をカットします。(10)長さの実際の値のデータ型VARCHARの長さを格納します。

(4)チャーストレージモード(ASCII)が文字の1つのバイトが2つのバイトを占有する占有英語の文字であり、ストレージVARCHARは、英語の文字のそれぞれについて2バイト、また漢字であります2つのバイトには、両方の非Unicode文字データのためのデータが記憶されています。

 

良い良い研究、日々アップ。

サイクルオーダーの概要を選択します

おすすめ

転載: www.cnblogs.com/Braveliu/p/11576769.html