MySQL में, JSON_STORAGE_SIZE()
फ़ंक्शन किसी JSON दस्तावेज़ के बाइनरी प्रतिनिधित्व को संग्रहीत करने के लिए उपयोग किए गए बाइट्स की संख्या देता है।
आप एक तर्क के रूप में JSON दस्तावेज़ प्रदान करते हैं।
जब तर्क एक JSON
हो कॉलम, यह फ़ंक्शन JSON दस्तावेज़ को संग्रहीत करने के लिए उपयोग किए गए स्थान को लौटाता है क्योंकि इसे कॉलम में डाला गया था, किसी भी आंशिक अपडेट से पहले जो उस पर बाद में किया जा सकता था।
जब तर्क एक स्ट्रिंग होता है, तो फ़ंक्शन JSON बाइनरी प्रतिनिधित्व में भंडारण स्थान की मात्रा देता है जो स्ट्रिंग को JSON के रूप में पार्स करके और इसे बाइनरी में परिवर्तित करके बनाया जाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_STORAGE_SIZE(json_val)
जहां json_val
JSON दस्तावेज़ है जिसके लिए संग्रहण आकार वापस करना है। यह एक वैध JSON दस्तावेज़ या एक स्ट्रिंग होना चाहिए जिसे एक के रूप में पार्स किया जा सकता है।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT JSON_STORAGE_SIZE('{"a": 1}') Result;
परिणाम:
+--------+ | Result | +--------+ | 13 | +--------+
इस मामले में, दस्तावेज़ का आकार 13 बाइट्स है।
यहाँ थोड़ा बड़ा JSON दस्तावेज़ है।
SELECT JSON_STORAGE_SIZE('{"a": 1, "b": 2, "c": 3}') Result;
परिणाम:
+--------+ | Result | +--------+ | 29 | +--------+
तो यह 29 बाइट्स है।
और यहाँ फिर से एक बड़ा है।
SET @data = '{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }'; SELECT JSON_STORAGE_SIZE(@data) Result;
परिणाम:
+--------+ | Result | +--------+ | 86 | +--------+
उदाहरण 2 - डेटाबेस कॉलम
डेटाबेस कॉलम में संग्रहीत JSON दस्तावेज़ का संग्रहण आकार प्राप्त करने का एक उदाहरण यहां दिया गया है।
USE Music; SELECT JSON_STORAGE_SIZE(Contents) Size FROM Collections WHERE CollectionId = 1;
परिणाम:
+------+ | Size | +------+ | 503 | +------+
इस मामले में, डेटाबेस कॉलम एक JSON कॉलम था और इसमें निम्न डेटा होता है।
USE Music; SELECT JSON_PRETTY(Contents) Contents FROM Collections WHERE CollectionId = 1;
परिणाम:
[ { "Albums": [ { "AlbumName": "Powerage" } ], "ArtistName": "AC/DC" }, { "Albums": [ { "AlbumName": "Ziltoid the Omniscient" }, { "AlbumName": "Casualties of Cool" }, { "AlbumName": "Epicloud" } ], "ArtistName": "Devin Townsend" }, { "Albums": [ { "AlbumName": "Powerslave" }, { "AlbumName": "Somewhere in Time" }, { "AlbumName": "Piece of Mind" }, { "AlbumName": "Killers" }, { "AlbumName": "No Prayer for the Dying" } ], "ArtistName": "Iron Maiden" } ]
इस मामले में, मैंने JSON_PRETTY()
. का इस्तेमाल किया परिणामों को अधिक पठनीय बनाने के लिए कार्य करता है।