Berikut demo dari apa yang dibicarakan oleh @JorgeLondoño.
Setel ukuran paket maksimum yang diizinkan server:
mysql> set global max_allowed_packet=1024*1024*1024;
Keluar dan buka klien mysql lagi, kali ini atur ukuran paket maksimal klien agar sesuai:
$ mysql --max-allowed-packet=$((1024*1024*1024*))
Buat tabel pengujian dengan kolom JSON dan isi dengan dokumen JSON terpanjang yang Anda bisa:
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 |
+-----------+
Ini menunjukkan bahwa saya dapat membuat satu dokumen JSON dengan 100 juta elemen, dan MySQL menyimpannya dalam kira-kira 800MB.
Saya tidak mencoba dokumen yang lebih panjang. Saya menganggapnya maksimal 1 GB, yang merupakan nilai terbesar yang dapat Anda tetapkan untuk max_allowed_packet.