Ето демонстрация на това, за което говори @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 |
+-----------+
Това показва, че успях да създам един JSON документ със 100 милиона елемента и MySQL съхранява това в приблизително 800 MB.
Не пробвах с по-дълъг документ. Предполагам, че достига максимум 1 GB, което е най-голямата стойност, която можете да зададете за max_allowed_packet.