0

これは実際にはコーディングの質問ではありませんが、何かを学びたいです。

データベース内のアイテムの画像 URL を保存しようとしています。最初に、 type の *img_url* 列を作成しましたTEXTが、必要なデフォルト値を持つことができないことがわかりました。

のようなものを使用すると思いますVARCHAR(2000)が、一方で、ほとんどの項目は varchar(5) である「ローカル」という値を持ちます。だから私が学びたいのは、ほとんどのセルに5文字の文字列が含まれていても、すべての行に2000文字の文字列があるかのようにテーブルがメモリ空間を使用するかということです。

4

2 に答える 2

1

Storage Requirementsに関する MySQL ドキュメントを参照してください。

ご覧のとおり、値を格納するコストは VARCHAR(長さ) ではなく、格納するデータに直接関連し、オーバーヘッドが発生します。

VARCHAR(M)、VARBINARY(M) 列の値が 0 ~ 255 バイトを必要とする場合は L + 1 バイト、値が 255 バイトを超える可能性がある場合は L + 2 バイト

したがって、値localは 6 バイトになります。

于 2013-04-09T17:51:03.443 に答える
0

いいえ、それはVARin がVARCHAR示すものです。

VARCHAR のドキュメント、特にストレージの使用に関する表を参照してください。

于 2013-04-09T17:49:04.533 に答える