在MySQL 中儲存IPv6 位址:DECIMAL(39,0) 與VARBINARY(16)
當面臨儲存IPv6 的挑戰時對於MySQL 中的位址,開發人員通常會考慮兩個選項:DECIMAL(39,0) 和2*BIGINT。雖然兩者各有優點,但出現了較以前的方法更具優勢的新解決方案。
DECIMAL(39,0) 與2*BIGINT
DECIMAL(39,0)的優點:
DECIMAL(39,0) 的缺點:
VARBINARY(16)
在最新版本的 MySQL 中,VARBINARY(16) 已成為儲存 IPv6 位址的首選方法。與DECIMAL(39,0) 和2*BIGINT 相比,它具有多個優點:
轉換函數
要在IPv6 位址的二進位和十進位表示形式之間進行轉換,您可以使用下列PHP 函數:
結論
對於在MySQL 中儲存IPv6 位址,VARBINARY(16) 因其空間效率、快速索引和不存在溢位問題而成為首選解決方案。雖然 DECIMAL(39,0) 和 2*BIGINT 曾經是流行的方法,但 VARBINARY(16) 現在提供了效能和功能的最佳平衡。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3