首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL - Barracuda文件格式和行压缩以避免错误1118行大小过大

MySQL - Barracuda文件格式和行压缩以避免错误1118行大小过大
EN

Stack Overflow用户
提问于 2013-12-03 21:45:09
回答 1查看 1K关注 0票数 2

我正在尝试使用mysql 5.5.31 (社区版)进行行压缩,以避免在仓库类型的上下文中进行反规范化时出现以下错误。

代码语言:javascript
复制
ERROR 1118 (42000): Row size too large. The maximum row size for the used
table type, not counting BLOBs, is 65535. You have to change some columns
to TEXT or BLOBs

我启用了各种系统变量,如下所示:

代码语言:javascript
复制
mysql> show variables like 'innodb_file%';
+--------------------------+-----------+
| Variable_name            | Value     |
+--------------------------+-----------+
| innodb_file_format       | Barracuda |
| innodb_file_format_check | ON        |
| innodb_file_format_max   | Barracuda |
| innodb_file_per_table    | ON        |
+--------------------------+-----------+

但是,当我尝试执行以下测试时,我仍然得到相同的行大小太大的错误。

代码语言:javascript
复制
create table foo (  first varchar(10000),
    second varchar(10000),
    third varchar(10000),
    fourth varchar(10000),
    fifth varchar(10000),
    sixth varchar(10000),
    seventh varchar(10000)
 ) ENGINE=InnoDB ROW_FORMAT=Compressed KEY_BLOCK_SIZE=8;

有人知道我可能会错过什么吗?有几个来源表明这应该是可行的。

MYSQL - How to workaround the row size limit of 66 KBytes

Change limit for "Mysql Row size too large"

Django-MySQL enable Row_Format=Compress with syncdb

EN

回答 1

Stack Overflow用户

发布于 2014-10-02 18:54:38

https://dba.stackexchange.com/a/22463 -这表明即使在梭鱼下,合并的行长也是有限制的。

尝试将varhcar(x)改为textblob,它在我的测试中运行良好:

代码语言:javascript
复制
create table foo_text (  
    first longtext,
    second longtext,
    third longtext,
    fourth longtext,
    fifth longtext,
    sixth longtext,
    seventh longtext
) ENGINE=InnoDB ROW_FORMAT=Compressed KEY_BLOCK_SIZE=8;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20352835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档