यहां देखें कि @JorgeLondoño किस बारे में बात कर रहा है।
सर्वर का अधिकतम अनुमत पैकेट आकार सेट करें:
mysql> set global max_allowed_packet=1024*1024*1024;
बाहर निकलें और mysql क्लाइंट को फिर से खोलें, इस बार क्लाइंट के अधिकतम पैकेट आकार को मैच करने के लिए सेट करें:
$ mysql --max-allowed-packet=$((1024*1024*1024*))
JSON कॉलम के साथ एक परीक्षण तालिका बनाएं और इसे सबसे लंबे JSON दस्तावेज़ से भरें जो आप कर सकते हैं:
mysql> create table test.jtest ( j json );
mysql> insert into test.jtest
set j = concat('[', repeat('"word",', 100000000), '"word"]');
Query OK, 1 row affected (1 min 49.67 sec)
mysql> select length(j) from test.jtest;
+-----------+
| length(j) |
+-----------+
| 800000008 |
+-----------+
इससे पता चलता है कि मैं 100 मिलियन तत्वों के साथ एक JSON दस्तावेज़ बनाने में सक्षम था, और MySQL इसे लगभग 800MB में संग्रहीत करता है।
मैंने लंबे दस्तावेज़ की कोशिश नहीं की। मुझे लगता है कि यह अधिकतम 1 जीबी है, जो कि आप max_allowed_packet के लिए सबसे बड़ा मान सेट कर सकते हैं।