1. परिचय
1.1 JSON को महत्त्व
आधुनिक वेब विकासमा, डेटा विनिमय क्रमशः जटिल हुँदै गएको छ। JSON (JavaScript Object Notation) हल्का र संरचित डेटा ढाँचा हो, जसलाई डेटा स्थानान्तरण र भण्डारणका लागि व्यापक रूपमा प्रयोग गरिन्छ। संस्करण 5.7 देखि, MySQL ले JSON डेटा प्रकारलाई समर्थन गरेको छ, जसले डेटाबेसमा सिधै JSON डेटा भण्डारण र हेरफेर गर्न सजिलो बनाउँछ।
1.2 MySQL मा JSON को प्रयोग
यो लेखले MySQL मा JSON सँग काम गर्ने आधारभूत कुराहरूदेखि प्रदर्शन सम्बन्धी विचारहरू र व्यावहारिक प्रयोग केसहरू सम्म सबै कुरा व्याख्या गर्दछ। तपाईं सुरुचिकर वा उन्नत प्रयोगकर्ता हुनुभए पनि, MySQL मा JSON लाई प्रभावकारी रूपमा प्रयोग गर्न आवश्यक ज्ञान प्राप्त गर्नुहुनेछ।
2. MySQL मा JSON के हो?
2.1 JSON को आधारभूत कुराहरू
JSON एक सरल ढाँचा हो जसले डेटा लाई कुञ्जी‑मान जोडीको रूपमा संरचना गर्दछ। यो वेब API र डेटा स्थानान्तरणमा व्यापक रूपमा प्रयोग हुन्छ, यसको हल्का प्रकृति र पढ्न सजिलो हुनुका कारणले परिचित छ। MySQL मा, JSON डेटा प्रकारले तपाईंलाई JSON डेटा सिधै डेटाबेसमा भण्डारण र हेरफेर गर्न अनुमति दिन्छ।
2.2 MySQL JSON डेटा प्रकार
MySQL 5.7 मा परिचय गराइएको JSON डेटा प्रकारले LONGBLOB वा LONGTEXT जत्तिकै डिस्क स्पेस लिन्छ। डेटा अखण्डता सुनिश्चित गर्न, MySQL ले इन्सर्ट गर्दा JSON डेटा प्रमाणित गर्छ, जसले अमान्य JSON को भण्डारण रोक्छ।
2.3 JSON को प्रयोग केसहरू
JSON को MySQL मा प्रयोगका सामान्य परिदृश्यहरू:
- जटिल डेटा संरचनाहरूको भण्डारण
- API बाट प्राप्त कच्चा डेटा सुरक्षित गर्नु
- डायनामिक वा विकासशील स्कीमा भएका डेटा व्यवस्थापन

3. MySQL मा आधारभूत JSON अपरेसनहरू
3.1 JSON स्तम्भहरू सिर्जना गर्नु
JSON डेटा भण्डारण गर्नको लागि स्तम्भ सिर्जना गर्न, तलको जस्तै json डेटा प्रकार निर्दिष्ट गर्नुहोस्:
CREATE TABLE json_data (
doc JSON
);
3.2 JSON डेटा इन्सर्ट गर्नु
JSON डेटा इन्सर्ट गर्न, INSERT स्टेटमेन्ट प्रयोग गर्नुहोस्। MySQL ले इन्सर्ट गर्दा डेटा ढाँचा प्रमाणित गर्छ र यदि यो वैध JSON नभएमा त्रुटि फिर्ता गर्छ।
INSERT INTO json_data(doc) VALUES ('{"a": {"b": ["c", "d"]}, "e": "f"}');
तपाईं JSON_OBJECT फङ्क्शन प्रयोग गरेर कुञ्जी‑मान जोडीबाट JSON वस्तु पनि सिर्जना गर्न सक्नुहुन्छ:
INSERT INTO json_data(doc) VALUES (JSON_OBJECT('key1', 'value1', 'key2', 'value2'));
3.3 JSON डेटा क्वेरी गर्नु
इन्सर्ट गरिएको JSON डेटा क्वेरी गर्न, JSON_EXTRACT फङ्क्शन प्रयोग गर्नुहोस्। यो फङ्क्शनले निर्दिष्ट पथ प्रयोग गरी JSON वस्तुबाट मानहरू निकाल्छ।
SELECT * FROM json_data WHERE JSON_EXTRACT(doc, '$.e') = 'f';
वैकल्पिक रूपमा, तपाईं छोटो -> अपरेटर प्रयोग गर्न सक्नुहुन्छ:
SELECT * FROM json_data WHERE doc->'$.e' = 'f';
3.4 JSON डेटा अद्यावधिक गर्नु
JSON वस्तुको भागहरू अद्यावधिक गर्न, JSON_SET फङ्क्शन प्रयोग गर्नुहोस्। यसले सम्पूर्ण वस्तु ओभरराइट नगरी विशेष फील्डहरू अद्यावधिक गर्छ।
UPDATE json_data SET doc = JSON_SET(doc, '$.a.b[0]', 'new_value');
4. प्रदर्शन सम्बन्धी विचारहरू
4.1 इन्सर्ट प्रदर्शन
JSON स्तम्भमा डेटा इन्सर्ट गर्दा, प्रदर्शन लगभग TEXT स्तम्भमा इन्सर्ट जस्तै हुन्छ। उदाहरणका लागि, ५०,००० रेकर्ड इन्सर्ट गर्दा JSON ले गति अनुसार TEXT सँग तुलनात्मक प्रदर्शन देखाउँछ।
4.2 अद्यावधिक प्रदर्शन
JSON डेटा अद्यावधिक गर्दा, JSON_SET ले आंशिक अद्यावधिकको अनुमति दिन्छ, जसले सम्पूर्ण वस्तु ओभरराइट नगरी केवल विशेष फील्डहरू मात्र परिवर्तन गरेर प्रदर्शन सुधार्छ। ५०,००० रेकर्ड अद्यावधिक गर्दा पनि JSON_SET ले प्रभावकारी अद्यावधिक प्रदान गर्छ।

5. MySQL मा JSON प्रयोगका उत्तम अभ्यासहरू
5.1 उपयुक्त प्रयोग केसहरू
जटिल डेटा संरचना वा डायनामिक स्कीमा भएका डेटा भण्डारणका लागि JSON उपयुक्त हुन्छ। तर, राम्रोसँग संरचित डेटा को लागि परम्परागत रिलेशनल तालिकाहरू सामान्यतया बढी प्रभावकारी हुन्छन्।
5.2 JSON डेटा इन्डेक्सिङ
MySQL मा, तपाईं भर्चुअल स्तम्भहरू प्रयोग गरी JSON स्तम्भहरूमा इन्डेक्स्नुहुन्छ। यसले JSON डेटा क्वेरीको प्रदर्शन सुधार्छ।
ALTER TABLE json_data ADD COLUMN e_value VARCHAR(255) AS (doc->'$.e'), ADD INDEX (e_value);
5.3 सामान्य जालहरूबाट बच्न
- JSON स्तम्भहरूको अत्यधिक प्रयोगबाट बच्नुहोस् र रिलेशनल डेटाबेसको शक्ति प्रयोग गर्नुहोस्।
- क्वेरी दक्षता सुनिश्चित गर्न उपयुक्त इन्डेक्सहरू सेट गर्नुहोस्।
- JSON डेटा धेरै ठूलो नबनाउन ध्यान दिनुहोस् र आवश्यक परे डेटा सामान्यीकरण गर्नुहोस्।
6. MySQL मा उन्नत JSON कार्यहरू
6.1 अतिरिक्त JSON कार्यहरू
MySQL ले JSON डेटा हेरफेर गर्नका लागि धेरै कार्यहरू प्रदान गर्दछ। उदाहरणका लागि, JSON_APPEND ले नयाँ तत्वहरू थप्छ, र JSON_REMOVE ले विशिष्ट फील्डहरू मेटाउँछ।
-- Add data
UPDATE json_data SET doc = JSON_APPEND(doc, '$.a.b', 'new_element');
-- Remove data
UPDATE json_data SET doc = JSON_REMOVE(doc, '$.a.b[0]');
6.2 SQL कार्यहरूसँग संयोजन
JSON कार्यहरूलाई परम्परागत SQL कार्यहरूसँग संयोजन गरेर अधिक जटिल क्वेरीहरू निर्माण गर्न सकिन्छ। उदाहरणका लागि, तपाईंले GROUP BY वा ORDER BY क्लजहरूसँग JSON डेटा प्रयोग गर्न सक्नुहुन्छ।
SELECT JSON_EXTRACT(doc, '$.e') AS e_value, COUNT(*) FROM json_data GROUP BY e_value;
7. निष्कर्ष
यो लेखले MySQL मा आधारभूत JSON अपरेसनहरूदेखि उन्नत सुविधासम्म सबै कुरा समेटेको छ। MySQL को JSON क्षमताहरूको उपयोग गरेर, तपाईंले जटिल डेटा भण्डारण र व्यवस्थापनलाई सरल बनाउन सक्नुहुन्छ। प्रदर्शन सम्बन्धी अन्तर्दृष्टि र उत्तम अभ्यासहरू लागू गर्दा तपाईंले डेटा अधिक प्रभावकारी रूपमा व्यवस्थापन गर्न सक्नुहुन्छ।


