小規模な無料データベース スペースであっても、大規模な電子商取引 Web サイトであっても、データベースがテーブル構造を合理的に設計し、スペースを最大限に活用することが非常に必要です。そのためには、データベース システムにおける一般的なデータ型を完全に理解し、合理的に適用する必要があります。以下では、データベースを構築する際に、より合理的に考えられるように、経験と経験を紹介します。
1. 数字の種類
私の分類方法によれば、数値型は整数型、小数型、数値型の 3 つのカテゴリに分類されます。
私が「数値クラス」と呼ぶものは、同じ型である DECIMAL と NUMERIC を指します。実際には数値を文字列の形式で格納するため、厳密には数値型ではありません。値の各桁 (小数点を含む) が 1 バイトの記憶領域を占有するため、この型は比較に大きな領域を消費します。ただし、その優れた利点の 1 つは、小数点の桁が固定されており、演算中に「歪み」がないことです。そのため、「価格」や「金額」など、高い精度は必要とされませんが、非常に高度な精度が要求される分野に適しています。正確さ。
10 進数型、つまり浮動小数点数型には、精度の違いにより FLOAT と DOUBLE の 2 種類があります。 FLOAT は、約 1.17E-38 (0.000...0117、小数点の後に 37 個のゼロがあります) という非常に小さい絶対値の小数を表現できるのに対し、DOUBLE は小さい絶対値を表現できるという利点があります。小数として約 2.22E-308 (0.000...0222、小数点以下 307 個のゼロ)。 FLOAT 型と DOUBLE 型が占める記憶領域は、それぞれ 4 バイトと 8 バイトです。小数フィールドを使用する必要があり、精度が高くない場合は、もちろん FLOAT を使用してください。しかし、正直に言うと、どうして私たちの「民間」データにこれほど高い精度が必要なのでしょうか? 私はこれまでこれら 2 つのタイプを使用したことがありません。これらを使用するのに適したケースに遭遇したことがありません。
最もよく使用され、最も慎重な計算に値する型は整数型です。データベースの設計時には、記憶域スペースを 1 バイトしか占有しない TINYINT から、8 バイトを占有する BIGINT まで、「十分な」タイプを選択し、占有記憶域スペースが最小のものを選択することを考慮する必要があります。 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT は、それぞれ 1 バイト、2 バイト、3 バイト、4 バイト、8 バイトの記憶領域を占有します。符号なし整数の場合、これらの型が表現できる最大整数はそれぞれ 255、65535、16777215 です。 、4294967295、18446744073709551615。ユーザーの年齢を保存するために使用する場合 (たとえば、データベースに年齢を保存することはお勧めできません)、Jiucheng の「Zongheng」では、Make を使用する場合は SMALLINT で十分です。 16,000,000 行を超えないテーブルの AUTO_INCREMENT の IDENTIFY フィールドでは、もちろん INT の代わりに MEDIUMINT を使用すると、1 行あたり 16,000,000 行を節約できます。