3
そのMySQL 5.6 manualに言う:列が4バイトに9進(ベース10)桁パックバイナリフォーマットを使用して表されDECIMAL(およびNUMERIC)のため小数点(2,1)のストレージ要件は何ですか?
値。各値の整数部と小数部の格納は別々に決定されます。 9桁の各倍数には4バイトが必要で、「残余」桁には4バイトの一部が必要です。過剰の桁に必要なストレージは、以下の表で与えられます。数字はそれはまだ4つのバイトを使用し、小数点以下のそれぞれの側に9未満の場合や、
+----------------------------------+
|Leftover Digits | Number of Bytes |
+----------------------------------+
| 0 | 0 |
+----------------------------------+
| 1 | 1 |
+----------------------------------+
| 2 | 1 |
+----------------------------------+
| 3 | 2 |
+----------------------------------+
| 4 | 2 |
+----------------------------------+
| 5 | 3 |
+----------------------------------+
| 6 | 3 |
+----------------------------------+
| 7 | 4 |
+----------------------------------+
| 8 | 4 |
+----------------------------------+
私の質問は、彼らが意志「残り物」とみなされますか?
抜粋からは、「残ったもの」だけが* me *に使用されているようですが、たとえば... 6桁は0 9桁のグループ(0バイト)+ 1 6桁のグループ(3バイト)です。 7/8桁の "残り物"にはまだ完全な4バイトが必要です。質問への私の答えは、おそらく間違っている可能性があります - 1 + 1 = 2バイトです。 MySQLで使用されているこの実際の空間を客観的に測定する方法はありますか?それは確かに言うだろう:) –
@pst:はい、私は直接測定が最も客観的だと思います。私はマニュアルに明白に記載されていない理由を疑問に思い、誰かが私に正しい解釈を示すことができると思った。 –