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アプレット
サーバー情報管理サーバー: m01 172.16.1.61サーバー: nfs01 172.16.1....
目次Linux MySQL 5.5 が MySQL 5.7 にアップグレードされました1. mysq...
テキストオーバーフローを表示するにはどうすればいいですか? どのようなニーズがありますか?単一行です...
MySQL は次の 3 種類のコメントをサポートしています。 1. 行末の「#」文字から。 2. 「...
この記事の例では、参考までに、シンプルなショッピングカートモジュールを実装するためのjsの具体的なコ...
達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...
目次1. 生放送効果2. ライブストリーミングを開始する手順2.1 Tencent Web(高速ライ...
昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...
この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...
1. 新サイトホームページのリンクレイアウト1. リンク配置の位置:リンク配置の位置によって、リンク...
この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...
#docker 検索#docker プルポーター1. イメージを取得した後、中国語パッケージをダウン...
innobackupex を使用してバックアップする際に MySQL がサーバーに接続できない場合は...
目次序文始めるReactライフサイクルリアクトファイバーリアクトセットステートReactイベントメカ...
以前、プロジェクトを行う際に ECharts を使用しました。今日はそれをメモとして整理し、より多く...