2

データベース担当者への簡単な質問です。それほど重要ではありませんが、興味があります。

よりも小さいもの (数値) はありますかtinyint?

私は120の異なる値を保存しており、それらのほぼすべてが(0-9).

Atinyintは私が見つけることができる最小のもので、最大 の値を保持します255。(3桁)

DB:

MSSqlServer 2008 バージョン 10.00.1600 を使用しています

4

2 に答える 2

3

数値的tinyintには可能な限り小さい可能性があります (使用しているデータベース エンジンによって異なります)。暗黙的な変換を使用して値をクエリすることもできchar(1)ますが、実際には解決する必要のない問題を解決するには、不必要なオーバーヘッドになります。また、char(1)0 ~ 255 の範囲の 1 バイト、8 ビットを引き続き消費します。これはマイクロ最適化であり、時間/労力の価値がないと考えています。

おそらく学術的な目的を求めていることは承知していますが、データベース ストレージに関してはtinyint、ほとんどすべての状況に十分対応できるサイズです。スペースの消費が気になる場合は、従来の RDBMS 以外のオプションを検討する必要があると思います。

于 2012-11-13T16:25:15.903 に答える
1

もちろん、複数の要素を 1 つのフィールドに手動でパックすることもできます。ほとんどすべてのコンピューティング システムはバイト (8 ビット) 指向であるため、通常、有効に利用できる最小の要素は 1 バイト (8 ビット) であり、たとえば 0 ~ 255 (または -128 ~ 127) を表すことができます。

于 2012-11-13T16:26:47.627 に答える