mysql text 字段过多解决方法

标签: mysql text 方法 | 发表时间:2014-09-26 00:09 | 作者:fqg05
出处:http://www.iteye.com

测试结论
mysql版本 5.1
表类型: innodb, row_format=compact (这是默认的行格式)

插入超过10个blob, blob的数据量很小(<768字节), 插入成功。
插入超过10个blob, blob的数据量很大(>768字节), 插入失败:报 Got error 139 from storage engine。

注意,如果mysql服务器版本是5.1, innodb_file_format选项不存在, 也就无从谈起Barracuda格式。 设置row_format=dynamic也是没意义的。

mysql版本 5.5
表类型: innodb, row_format=compact (这是默认的行格式)
插入超过10个blob, blob的数据量很大(>768字节), 插入失败:报 Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

表类型: innodb, row_format=dynamic (这是innodb的新文件存储格式Barracuda所支持的行格式)
插入超过10个blob, blob的数据量很大(>768字节), 插入成功

备注:
1) 实际测试测试我用的每个字段长度都是100K+
2) 对于mysql5.5, 虽然支持Barracuda。但是默认使用的还是老的格式:Antelope
除非在mysql的配置里面my.cnf修改:
innodb_file_per_table = 1
innodb_file_format = Barracuda
或者set global 命令动态的修改:
SET GLOBAL innodb_file_format=barracuda;
SET GLOBAL innodb_file_per_table=1;

注意:
1) 修改后的innodb_file_format格式, 只影响后续创建的表。 也就是后续创建的表,可以支持把row_format设为dynamic
2) SET GLOBAL 只是在mysql服务器运行期间有效,重启后innodb_file_format还原为原来的格式。
3) 判断一个表是否支持超过10个blob的字段的简单办法:
show table status like 't1' \G
查看 Row_format , 如果是Compact, 必定不支持, 如果是dynamic, 则支持。

 

SHOW TABLE STATUS LIKE 'eventanalysis%';

http://www.cnblogs.com/gaizai/archive/2012/09/20/2695663.html

http://www.2cto.com/database/201405/302228.html



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [mysql text 方法] 推荐:

mysql text 字段过多解决方法

- - 非技术 - ITeye博客
表类型: innodb, row_format=compact (这是默认的行格式). 插入超过10个blob, blob的数据量很小(<768字节), 插入成功. 插入超过10个blob, blob的数据量很大(>768字节), 插入失败:报 Got error 139 from storage engine.

mysql优化方法

- - 数据库 - ITeye博客
通过show status和应用特点了解各种SQL的执行频率. 通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得. SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果. 以下几个参数对Myisam和Innodb存储引擎都计数:.

Sublime Text 2 简介

- Gnauk - 走走停停看看
最近试用了一款新的编辑器 Sublime Text 2,跨平台,据说他是仿TextMate的,没用过TextMate,不知道后者有多厉害. 然而 Sublime Text 2 我一用就爱上他了. 一开始是由于他的迷你地图模式而吸引我的注意力的,这个迷你地图可以概览整个文件. 这个是个亮点,在其他编辑器中都没有见过此类功能.

mysql碎片整理方法

- - 数据库 - ITeye博客
  对于一个表如果经常插入数据和删除数据,则会产生很多不连续的碎片,这样久而久之,这个表就会占用很大空间,但实际上表里面的记录数却很少,这样不但会浪费空间,并且查询速度也更慢,因此为了解决这个问题,可以有心下解决方案. 1、myisam存储引擎清理碎片方法. 2、innodb存储引擎清理碎片方法. 从上面的DATA_FREE字段可以看出碎片空间很大.

前端神器 Sublime Text 2

- - 博客园_首页
  博主之前一直用notepdd++写前端代码,用得也挺顺手了,早就听说sublime的大名,一直也懒得去试试看,认为都是工具用着顺手就好. 这几天突然心血来潮,下了个试了下,结果. 结果博主毫无节操的抛弃了notepad++. 下面根据博主这几天的使用心得,来介绍下这款前端神器,介于使用时间很短,有些说的不妥的地方还望各位看官海涵.

CSS3.0之text-shadow属性

- - 收集分享互联网资源!
CSS3.0的text shadwo属性已经出现一段时间了,下面就分享一下收集的关于text-shadow效果的使用案例. 如果你仔细研究了这些,你必将对text-shadow有更加深入的了解. text-shadow其语法包括投影X轴偏移、Y轴偏移、模糊参数以及投影颜色,看下图. 一、vintage 文字效果.

Sublime Text 2 使用心得

- - CSDN博客Web前端推荐文章
作为一个前端,有一款好的开发利器是必不可少的,editplus、notepad++都是不错的工具,体积轻巧,启动迅速(dw太浮肿了). 最近,又有一款新的编辑器诞生,席卷前端界,惹得无数喜爱,不少前端er纷纷抛弃用了数年的“伙伴”,投入了她的怀抱——Sublime Text2. Sublime Text2是一款跨平台的编辑器,再也不用为换平台而找不到合适的、熟悉的编辑器担忧了.

mysql的table is read only 解决方法

- - CSDN博客系统运维推荐文章
今天,在centos6下把mysql没法启动的数据库文件夹复制到/usr/local/mysql/var下,结果在修改表时,提示”table isreadonly”的错误. 首先想到的是遇到了权限问题,所以就去/usr/local/mysql/var查看了下,果然所有者不是mysql,权限也不正确.

MySQL 快速複製 Table 的方法

- - Tsung's Blog
MySQL 要複製 整個 Table, 要怎麼做呢?. MySQL 快速複製 Table 的方法. 以下範例都是把 old_table 複製到 new_table.. 先講講結論, 最推薦的作法是下述兩行:. 以下來講講幾種作法 和 優缺點.. MyISAM 的作法若比較暴力點的話, 可以用下述方式做:.

測試 MySQL 效能的方法

- - Gea-Suan Lin's BLOG
在 DigitalOcean 上的教學文章看到另外一種 MySQL 效能測試的方法:「 How To Measure MySQL Query Performance with mysqlslap」. 一般會拿 Percona 的 tpcc-mysql 測,用 mysqlslap 好像比較少看到,雖然也是蠻有名的工具….