Каково максимальное ограничение длины JSON при запуске SELECT из MySQL - PullRequest
0 голосов
/ 17 июня 2019

У меня есть таблица с 8 столбцами и более 62 000 строк.я бы хотел, чтобы MySQL преобразовал определение таблицы в JSON с помощью оператора select, который я делаю следующим образом:

SELECT
    CONCAT(
        '[',
        GROUP_CONCAT(
            JSON_OBJECT(
                'json_column_name', tbl.actual_column_name,
                ...
            )
        ),
        ']'
    )
FROM
    table_name tbl;

Однако JSON обрезается, как только он достигает 4-й строки таблицы, даже с LIMIT 2 объявлено для тестирования (чего я не понимаю, потому что я ограничен первыми 2 строками).я уже увеличил max_allowed_packets до 1 ГБ, но JSON обрезается.

1 Ответ

0 голосов
/ 17 июня 2019

Предел для документа JSON установлен пределом протокола MySQL max_allowed_packet примерно 1 ГБ.Вы можете использовать функцию JSON_STORAGE_SIZE перед попыткой записи на сервер, чтобы проверить, превышает ли то, что вы пытаетесь вставить в столбец, этот размер.

И если это так, вы можете разделить егонесколько столбцов компонентов по 1 ГБ.

...