sql >> データベース >  >> RDS >> Mysql

MySQLTEXTデータ型のストレージサイズを理解する

    TEXT データオブジェクトは、その名前が示すように、MySQLデータベースに長い形式のテキスト文字列を格納するのに役立ちます。 4つのTEXT データオブジェクトタイプは、列の並べ替えや検索、大規模なプロジェクトの小規模な構成ベースのオプションの処理などのタスクに役立つ他のデータオブジェクトタイプとは対照的に、大量の情報を格納および表示するために構築されています。別のTEXT オブジェクトは、1バイトから4 GBまでの範囲のストレージスペースを提供し、計算値を格納するようには設計されていません。これらは、販売サイトの商品説明、不動産データベースのプロパティの概要、ニュースWebサイトの長い記事のテキストを保存するために使用されるのが一般的です。 TEXT オブジェクトは、VARCHARの場合に最適に使用されます その他の文字列ベースのデータオブジェクトは、必要な量の情報の格納を処理するには不十分です。ただし、最小のTEXT タイプ、TINYTEXTVARCHARと同じ文字長を共有します 。 TEXT オブジェクトは、選択時にバイトを削除するのではなく、ストレージの長さを指定する要件を削除することで他の文字列ストレージタイプと区別され、効率的なディスクストレージのために未使用の文字スペースを埋めません。 TEXT以降 オブジェクトはサーバーのメモリに保存されないため、取得するにはデータのオーバーヘッドが必要です。次のサイズは、データベースがUTF-8エンコーディングを使用していることを前提としています。

    TINYTEXT:255文字-255 B

    TINYTEXT データオブジェクトはTEXTの最小のものです ファミリであり、短い情報文字列を効率的に格納するように構築されています。このタイプは、最大255バイト(2 ^ 8 -1として表される)または255文字を格納でき、1バイトのオーバーヘッドが必要です。このオブジェクトは、短い要約、URLリンク、その他の短いオブジェクトなどを格納するために使用できます。 TINYTEXT VARCHARを照らします 一貫性のない長さで255文字未満のデータを保存し、並べ替え基準に使用する必要がない場合。

    テキスト:65,535文字-64 KB

    標準のTEXT データオブジェクトは、一般的な長い形式のテキストコンテンツを十分に処理できます。 TEXT データオブジェクトは64KB(2 ^ 16 -1として表される)または65,535文字で最大になり、2バイトのオーバーヘッドが必要です。記事のようなテキストを保持するには十分な大きさですが、本全体のテキストを保持するには十分ではありません。

    MEDIUMTEXT:16,777,215-16 MB

    MEDIUMTEXT データオブジェクトは、ホワイトペーパー、書籍、コードバックアップなどの大きなテキスト文字列を保存するのに役立ちます。これらのデータオブジェクトは、最大16 MB(2 ^ 24 -1で表される)または16,777,215文字であり、3バイトのオーバーヘッドストレージを必要とします。

    LONGTEXT:4,294,967,295文字-4 GB

    LONGTEXT データオブジェクトは、極端なテキスト文字列ストレージのユースケースで使用するためのものです。 MEDIUMTEXTの場合、これは実行可能なオプションです。 オブジェクトが十分に大きくありません。コンピュータプログラムとアプリケーションは、多くの場合、LONGTEXTでテキストの長さに達します。 範囲。これらのデータオブジェクトは、最大4 GB(2 ^ 32 -1で表される)で、4バイトのオーバーヘッドストレージで最大4,294,967,295文字を格納できます。

    テキストとBLOB

    BLOB sは、TEXTと一致する命名および容量メカニズムを共有する代替タイプのデータストレージです。 オブジェクト。ただし、BLOB sは文字セットの並べ替えがないバイナリ文字列であるため、TEXTでは数値と​​して扱われます。 オブジェクトは文字列として扱われます。この区別は、情報を並べ替えるために重要です。 BLOB sは、画像、ビデオ、実行可能ファイルなどのデータファイルを保存するために使用されます。

    使用上の注意
    • TEXTの使用 サーバーはメモリに保存されているデータをページングする代わりに、オブジェクトを個別に呼び出してクエリ中にスキャンするため、選択クエリと検索クエリのフィールドでパフォーマンスが低下します。
    • 厳密なSQLを有効にすると、最大文字長が適用され、入力されたデータがそれらの制限を超えると切り捨てられます。
    • TEXT 列にはインデックスプレフィックスの長さが必要であり、DEFAULTを持つことはできません CHARとは異なり値 およびVARCHAR オブジェクト。
    • 単語数によるサイズの見積もり:平均的な英語の単語の長さは4.5文字で、間隔を空けるために1文字余分に必要であると想定します。たとえば、500語の記事で構成されるサイトでは、記事のテキストデータに平均で約2,750文字が使用されます。 TINYTEXT の255文字の容量は、このユースケースには不十分ですが、TEXT の65535文字の容量は、平均的な基準に基づいて11,900語を超える記事のストレージを提供します。

    1. Room Migration Alter Tableは新しい列を追加せず、移行は何度も呼び出されます

    2. 初心者向けのSSISチュートリアル:なぜ、何を、どのように?

    3. PDOPHPでクエリエラーを表示する方法

    4. 指定された時間間隔での集計関数