MySQL では、char、varchar、text の各タイプのフィールドはすべて文字タイプのデータの格納に使用できます。char と varchar はどちらも最大文字長を指定できますが、text では指定できません。 データの保存方法や取得方法も異なります。 データ取得効率は次のようになります: 具体的な指示: char:固定長データを格納するのに非常に便利です。CHAR フィールドのインデックスは非常に効率的です。長さは括弧で定義する必要があり、デフォルト値を持つことができます。たとえば、char(10) を定義すると、格納するデータが 10 バイトに達するかどうかに関係なく、10 バイトのスペース (自動的にスペースで埋められます) が占有され、検索時に末尾のスペースは非表示になります。したがって、取得したデータ内のスペースをフィルター処理するには、trim などの関数を使用することを忘れないでください。 varchar:可変長データを格納しますが、ストレージ効率は CHAR ほど高くありません。長さは括弧で定義する必要があり、デフォルト値を持つことができます。データを保存するときに、スペースの自動補完は実行されず、データ内にスペースがある場合、値の保存および取得時に末尾のスペースは保持されます。さらに、varchar 型の実際の長さは、その値の実際の長さ + 1 です。このバイトは、実際に使用された長さを保存するために使用されます。 text:最大長 2^31-1 文字の可変長の非 Unicode データを格納します。テキスト列にはデフォルト値を設定できません。保存または取得時に大文字と小文字の変換は行われません。後で長さを指定してもエラーは報告されませんが、この長さは影響しません。つまり、データを挿入するときに、指定した長さを超えていても正常に挿入できます。 ストレージスペースについて: UTF8 文字セットを使用する場合、MySQL マニュアルでは次のように説明されています。
結論は: 1. 頻繁に変更されるフィールドには varchar を使用します。 2. 固定長がわかっている場合は、char を使用します。 3. 255 バイトを超えるデータの場合、varchar または text のみ使用できます。 4. varchar が使用できる場所ではテキストを使用しないでください。 5. 数値フィールドを使用できる場合は、文字列型ではなく数値型を使用するようにしてください。これにより、クエリと接続のパフォーマンスが低下し、ストレージのオーバーヘッドが増加します。これは、クエリと接続を処理するときにエンジンが文字列内の各文字を 1 つずつ比較し、数値型の場合は 1 回の比較だけで十分であるためです。 6. 同じテーブルに複数の大きなフィールドがある場合は、可能であればそれらをマージしてみてください。マージできない場合は、テーブルを分割することを検討してください。理由については、「InnoDB テーブル内の BLOB 列と TEXT 列のストレージ効率の最適化」を参照してください。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: 携帯電話番号の歩数記録を取得するWeChatアプレット
目次ストアドプロシージャの概要ストアド プロシージャを使用する理由は何ですか?ストアドプロシージャの...
厳密に言えば、nginx には負荷分散バックエンド ノードのヘルス チェック機能はありませんが、デフ...
説明: テキストエリアの値の改行を新しい行に変更しますコードをコピーコードは次のとおりです。 <...
目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...
この例では、デバッグ用の MySQL データベースをダウンロードしてインストールする必要があります。...
HTML と CSS は誰もが知っていると思います。HTML の構造と CSS の表現の分離も知って...
前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...
目次1. コンテナライフサイクル管理(1)ドッカー実行(2)スタート/ストップ/リスタート(3)ドッ...
補足<br />HTML について何も知らず、HTML の始め方がまだわからない場合は、...
この記事の例では、Vueプロジェクトでのトークン検証ログインの具体的なコードを参考までに共有していま...
目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...
1. DockerはローカルディレクトリをマウントしますDocker は、ホスト上のディレクトリをイ...
1. セレクターを調整するコンビネータを使用すると、セレクターの説明をより正確に記述できます (C...
まず効果を見てみましょう: html <a href="#"> &l...
目次概要フレームワークを選択する理由は何ですか? js のエンバーEmber.js と Vue.js...