レコードの数が非常に多いので、私はインドの携帯電話番号をMySQLテーブルに保存したいと考えています。私は自分のストレージを最適化したいと思っています。 インドの携帯電話番号は10桁で、通常は7,8,9から始まります。 たとえば9XXXXXXXXX
。mysqlに4バイトまたは8バイトの代わりに整数を格納するためにNバイトを割り当てる方法は?
関連するMySQLのフィールドは次のとおり
見られるようType Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
INT 4 -2147483648 2147483647
0 4294967295 <-- somewhat small
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615 <-- too large
、符号なしINTは、(値の約半分)少し小さく、符号なしのBIGINTは10桁の番号を格納することは非常に大きいです。 このデータを格納するには5バイトで十分です。
私の質問は以下のとおりです。 -
A)バイトのカスタム番号を割り当て、利用可能なデータ型のいずれかのタイプにMYSQLにこのデータを格納するための良い方法はありますか?
b)これは早すぎる最適化ですか?これに何か利点/欠点がありますか?
c)4バイトと8バイトのような自然なサイズのデータ型を持ち、データベースの5バイトと6バイトのような中間サイズを無視すると、どのような利点がありますか?
注:10桁の数字は電話番号ではなく、10桁の整数とします。 VARCHARは私が探しているものではありません。
ありがとうございます。それは役に立ちます。 – DhruvPathak