Posted at

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