Я загружаю файл CSV с 314 столбцами на сервер MariaDB 5.5. В настоящее время мой код выглядит так:
CREATE TABLE table_name
(column_1 TEXT,
column_2 TEXT,
...
column_314 TEXT)
ROW_FORMAT=DYNAMIC;
LOAD DATA LOCAL INFILE filepath
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Это приводит к следующей ошибке:
ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB
may help. In current row format, BLOB prefix of 0 bytes is stored inline.
Я использую формат файла Barracuda InnoDB с включенным файлом для каждой таблицы:
innodb_file_format=Barracuda
innodb_file_per_table=1
Я полагаю, что проблема в размере страницы innodb, которая установлена в 16 КБ. Поскольку я работаю на MariaDB 5.5, а не на 10.1+, я не верю, что есть способ увеличить размер страницы. База данных управляется организацией и в настоящее время не может быть обновлена до более новой версии.