mysql vchar 磁盘碎片_mysql TEXT与BLOB 碎片整理
1、一般在保存少量字符串的时候,我们会选择CHAR 或者VARCHAR;而在保存较大文本时,通常会选择使用TEXT 或者BLOB,二者之间的主要差别是BLOB 能用来保存二进制数据,比如照片;而TEXT 只能保存字符数据,比如一篇文章或者日记。TEXT 和BLOB 中有分别包括TEXT、MEDIUMTEXT、LONGTEXT 和BLOB、MEDIUMBLOB、LONGBLOB3 种不同的类型,它们之间的主要区别是存储文本长度不同和存储字节不同,用户应该根据实际情况选择能够满足需求的最小存储类型。本节主要对BLOB 和TEXT 存在的一些常见问题进行介绍。
2 、BLOB 和TEXT 值会引起一些性能问题,特别是在执行了大量的删除操作时。删除操作会在数据表中留下很大的“空洞”,以后填入这些“空洞”的记录在插入的性能上会有影响。为了提高性能,建议定期使用OPTIMIZE TABLE 功能对这类表进行碎片整理,避免因为“空洞”导致性能问题。
OPTIMIZE TABLE 的碎片整理功能。
(1)创建测试表t,字段id 和context 的类型分别为varchar(100)和text:
mysql> create table t (id varchar(100),context text);
(2)往t 中插入大量记录,这里使用repeat 函数插入大字符串:
mysql> insert into t values(1,repeat('haha',100));
mysql> insert into t values(2,repeat('haha',100));
mysql> insert into t values(3,repeat('haha',100));
mysql> insert into t select * from t;
…
mysql> insert into t select * from t;
Query OK, 196608 rows affected (4.86 sec)
Records: 196608 Duplicates: 0 Warnings: 0
(3)退出到操作系统下,查看表t 的物理文件大小:
[linux@yxm test]$ du -sh t.*
125
16K t.frm
155M t.MYD
8.0K t.MYI
这里数据文件显示为155MB。
(4)从表t 中删除id 为“1”的数据,这些数据占总数据量的1/3:
[linux@yxm test]$ mysql -u root -p1234
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24 to server version: 5.0.45-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test
Database changed
mysql> delete from t where id=1;
Query OK, 131072 rows affected (4.33 sec)
mysql> exit
Bye
(5)再次退出到操作系统下,查看表t 的物理文件大小:
[linux@yxm test]$ du -sh t.*
16K t.frm
155M t.MYD
8.0K t.MYI
可以发现,表t 的数据文件仍然为155MB,并没有因为数据删除而减少。
(6)接下来对表进行OPTIMIZE(优化)操作:
mysql> use test;
mysql> OPTIMIZE TABLE t;
+--------+----------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+--------+----------+----------+----------+
| test.t | optimize | status | OK |
+--------+----------+----------+----------+
1 row in set (2.88 sec)
(7)再次查看表t 的物理文件大小:
[linux@yxm test]$ du -sh t.*
16K t.frm
104M t.MYD
8.0K t.MYI
可以发现,表的数据文件大大缩小,“空洞”空间已经被回收。
mysql vchar 磁盘碎片_mysql TEXT与BLOB 碎片整理相关推荐
- 清除mysql数据碎片_MySQL 清除表空间碎片方法总结
mysql数据库会生成空间碎片了,这些空间碎片对于我们来讲影响不大但如果空间碎片多了会导致mysql查询缓存了,下面一起来看MySQL 清除表空间碎片方法吧,具体的如下所示. 碎片产生的原因 (1)表 ...
- mysql vchar 最大长度_mysql VARCHAR的最大长度到底是多少
以前一直都认为有两个字节来记录长度(长度小也可以用一个字节记录),所以这个问题当时觉得就挺无聊的 不过后来群里有人给了解释,突然才发现原来事情不是这么简单 MYSQL COMPACT格式,每条记录有一 ...
- mysql自定义收藏分类_MYSQL中SHOW的使用整理收藏
a. show tables或show tables from database_name; //显示当前数据库中所有表的名称 b. show databases; //显示mysql中所有数据库的名 ...
- mysql数据库blob区别_MySQL中TEXT与BLOB字段类型的区别
在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型. 下面给出几点区别: 一.主要差别 TEXT ...
- mysql blob 比较_MySQL下,text 、blob的比较
MySQL存在text和blob: (1)相同 在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被 ...
- mysql blob 字段_MySQL中TEXT与BLOB字段类型的区别
在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型. 下面给出几点区别: 一.主要差别 TEXT ...
- mysql 整理磁盘空间_mysql 数据库磁盘满了,进行碎片化整理的相关问题
一.进行碎片化整理的步骤: 1,进行磁盘碎片化整理.原因是datafree占据的空间太多啦.具体可以通过这个sql查看. SELECT CONCAT(TRUNCATE(SUM(data_length) ...
- mysql储存大文本_mysql 的大文本存储TEXT BLOB
TEXT & BLOB 一般在保存少量字符串的时候,我们会选择 CHAR 或者 VARCHAR:而在保存较大文本时, 通常会选择使用 TEXT 或者 BLOB,二者之间的主要差别是 BLOB ...
- 数据库mysql爆满怎么搞_MySQL 磁盘满了,怎么办??
问题 使用命令发现磁盘使用率为100%了,还剩几十兆. 一系列神操作: 备份数据库,删除实例.删除数据库表.重启mysql服务.结果磁盘空间均为释放 怎么办 网上查了很多资源,说要进行磁盘碎片化整理. ...
最新文章
- 参加java培训都有哪些学习阶段
- 使用多尺度空间注意力的语义分割方法
- 利用PCA进行数据降维
- 关于《指针的艺术》看书时所遇到的问题
- c#的DateTime.Now函数详解
- java项目实现流水号自动增长
- 信息安全已成社会普遍焦虑 给个人信息加上防护锁
- mysql循环insert多条数据
- 学习Spring Boot:(二十四)多数据源配置与使用
- memcached常用命令
- 【英语学习】【WOTD】animadversion 释义/词源/示例
- factorymenu什么意思_宏基20lsquo;显示屏AUTO和MENU是什么意思,在什么位置_已解决 - 阿里巴巴生意经...
- Codeforces 797B - Odd sum
- iscsi多路径配置方式
- python处理excel表格-Python读写Excel表格(简单实用)
- linux 7.4ip配置,新手进阶 Ubuntu7.10中配置IP地址
- linux xv命令什么意思,Linux部分命令解释(命令缩写代表什么意思)
- 下拉列表支持拼音简拼、全拼、汉字搜索。
- Cocos Creator 微信创意小游戏《甜蜜糖果屋》团队专访:让纸片人活起来
- 陶瓷充电电池行业研究及十四五规划分析报告
热门文章
- 地方政府留言板文本数据
- #程序员的办公桌面是怎么样的?网友晒的真是逼格满满啊
- Windows7UltimateSP1x64安装及一些设置
- wps怎么免费导出简历_个人简历免费模板手机编辑,手机wps怎么免费导出简历
- cannot use message (variable of type protoreflect.ProtoMessage) as type protoiface.MessageV1 in argu
- 微信小程序如何隐藏左上角返回首页按钮?
- tp6字符串解析为HTML,6.字符串 · ThinkPHP5从入门到努力之入门实践 · 看云
- 手机5g什么时候普及_5G 网络什么时候普及,现在购买 4G 手机划算吗?
- 华南理工大学珠海学院计算机,慕了!盘点那些有“私家游泳池”的广东高校!考上就算捡到啦!...
- Apollo学习笔记(19)UKF