sql >> Databáze >  >> RDS >> Mysql

Maximální délka sloupce JSON v MySQL

Zde je ukázka toho, o čem @JorgeLondoño mluví.

Nastavte maximální povolenou velikost paketu serveru:

mysql> set global max_allowed_packet=1024*1024*1024;

Ukončete a znovu otevřete klienta mysql, tentokrát nastavte maximální velikost paketu klienta tak, aby odpovídala:

$ mysql --max-allowed-packet=$((1024*1024*1024*))

Vytvořte testovací tabulku se sloupcem JSON a vyplňte ji nejdelším dokumentem JSON, jaký můžete:

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 |
+-----------+

To ukazuje, že jsem byl schopen vytvořit jeden dokument JSON se 100 miliony prvků a MySQL to ukládá do přibližně 800 MB.

Delší dokument jsem nezkoušel. Předpokládám, že maximum je 1 GB, což je nejvyšší hodnota, kterou můžete pro max_allowed_packet nastavit.



  1. Mazání duplikátů v MySQL

  2. SQLServer IDENTITY Sloupec s textem

  3. Jak obnovit databázi z C#

  4. odstranit poslední řádek v tabulce pomocí dotazu SQL?