MySQL

MySQL、JSON型の最大長

これはなに

MySQL 5.7のJSON型における最大長を調べたメモです。
MySQL8のことは調べてません。同じだと思いますが当環境はAmazon Auroraです。

JSON型の最大値

ドキュメントによると、だいたいLONGBLOBとLONGTEXTと同じだそうです。
したがって、カラムの領域としては4 GBまで行けそうです。

https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html#data-types-storage-reqs-json
https://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html

max_allowed_packet

JSON型をINSERTやUPDATEを行う場合は、SQLの最大長であるmax_allowed_packetに引っかかる場合がほとんどだと思います。
その場合、max_allowed_packetの最大値である1 GBが現実的な最大値となるでしょう。

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html