MySQL 5.7 में MySQL तालिकाओं में JSON डेटा संग्रहीत करने के लिए एक नया डेटा प्रकार जोड़ा गया है। यह स्पष्ट रूप से MySQL में एक महान बदलाव होगा। उन्होंने कुछ लाभ सूचीबद्ध किए
दस्तावेज़ सत्यापन - केवल वैध JSON दस्तावेज़ों को JSON कॉलम में संग्रहीत किया जा सकता है, इसलिए आपको अपने डेटा का स्वत: सत्यापन प्राप्त होता है।
कुशल पहुँच - अधिक महत्वपूर्ण बात, जब आप JSON कॉलम में JSON दस्तावेज़ संग्रहीत करते हैं, तो यह एक सादे पाठ मान के रूप में संग्रहीत नहीं होता है। इसके बजाय, यह एक अनुकूलित बाइनरी प्रारूप में संग्रहीत है जो ऑब्जेक्ट सदस्यों और सरणी तत्वों के लिए त्वरित पहुंच की अनुमति देता है।
प्रदर्शन - JSON कॉलम के भीतर मूल्यों पर अनुक्रमित बनाकर अपने क्वेरी प्रदर्शन में सुधार करें। यह आभासी स्तंभों पर "कार्यात्मक अनुक्रमित" के साथ प्राप्त किया जा सकता है।
सुविधा - JSON कॉलम के लिए अतिरिक्त इनलाइन सिंटैक्स आपके SQL के भीतर दस्तावेज़ प्रश्नों को एकीकृत करने के लिए बहुत स्वाभाविक बनाता है। उदाहरण के लिए (features.feature एक JSON कॉलम है):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
वाह ! उनमें कुछ बेहतरीन विशेषताएं शामिल हैं। अब डेटा में हेरफेर करना आसान हो गया है। अब कॉलम में अधिक जटिल डेटा संग्रहीत करना संभव है। इसलिए MySQL अब NoSQL के साथ सुगंधित है।
अब मैं JSON डेटा के लिए एक क्वेरी की तरह कुछ कल्पना कर सकता हूं
SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN
(
SELECT JSON_EXTRACT(data,"$.inverted")
FROM t1 | {"series": 3, "inverted": 8}
WHERE JSON_EXTRACT(data,"$.inverted")<4 );
तो क्या मैं कुछ छोटे कोलम में विशाल छोटे संबंधों को संग्रहीत कर सकता हूं? अच्छी है? क्या यह सामान्यीकरण को तोड़ता है। यदि यह संभव है तो मुझे लगता है कि यह MySQL कॉलम में NoSQL की तरह काम करेगा । मैं वास्तव में इस सुविधा के बारे में अधिक जानना चाहता हूं। MySQL JSON डेटा प्रकार के पेशेवरों और विपक्ष।
Now it is possible to store more complex data in column
। सावधान रहें