MySQL での IPv6 アドレスの保存: DECIMAL(39,0) と VARBINARY(16)
IPv6 の保存という課題に直面したときMySQL でアドレスを使用する場合、開発者は多くの場合、DECIMAL(39,0) と 2*BIGINT の 2 つのオプションを検討します。どちらにも利点がありますが、以前の両方の方法に比べて利点がある新しいソリューションが登場しました。
DECIMAL(39,0) と 2*BIGINT
]DECIMAL(39,0) の利点:
DECIMAL(39,0):
VARBINARY(16)
MySQL の最近のバージョンでは、VARBINARY(16) が IPv6 アドレスを格納するための推奨メソッドになっています。 DECIMAL(39,0) と 2*BIGINT の両方に比べて、いくつかの利点があります。
変換関数
IPv6 アドレスの 2 進表現と 10 進表現の間で変換するには、次の PHP 関数を使用できます。
結論
MySQL に IPv6 アドレスを保存するには、スペース効率、高速なインデックス作成、およびオーバーフローの問題がないため、VARBINARY(16) が推奨されるソリューションとなっています。 DECIMAL(39,0) と 2*BIGINT はかつては一般的なメソッドでしたが、現在では VARBINARY(16) がパフォーマンスと機能の最適なバランスを提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3