कैसा रहेगा:
BINARY(16)
यह काफी प्रभावी होना चाहिए।
वर्तमान में MySQL सर्वर में टेक्स्ट IPv6 पतों को/से बाइनरी में बदलने के लिए कोई फ़ंक्शन नहीं है, जैसा कि उस बग रिपोर्ट में बताया गया है। ऐसा करने के लिए आपको या तो इसे अपने एप्लिकेशन में करना होगा या संभवतः MySQL सर्वर में एक UDF (यूजर-डिफाइंड फंक्शन) बनाना होगा।
अद्यतन करें:
MySQL 5.6.3 में IPv6 पतों के लिए समर्थन है, निम्नलिखित देखें:"INET6_ATON(expr) ".
डेटा प्रकार VARBINARY(16)
. है BINARY(16)
. के बजाय जैसा कि मैंने पहले सुझाव दिया था। इसका एकमात्र कारण यह है कि MySQL फ़ंक्शन IPv6 और IPv4 दोनों पतों के लिए कार्य करता है। BINARY(16)
केवल IPv6 पतों को संग्रहीत करने के लिए ठीक है और एक बाइट बचाता है। VARBINARY(16)
IPv6 और IPv4 दोनों पतों को संभालते समय उपयोग किया जाना चाहिए।
MySQL और MariaDB के पुराने संस्करणों के लिए एक कार्यान्वयन, निम्नलिखित देखें:"आईपीवी6 फंक्शन के साथ MYSQL 5 का विस्तार करना ".