数据库类型空间效率探索(四)-tinyint与enum与set
mysql> select count(*) from userinfo;
+----------+
| count(*) |
+----------+
| 115597 |
+----------+
1 row in set (0.00 sec)
mysql> select concat(truncate(sum(data_length)/1024/1024,3),'MB') as data_size,
-> concat(truncate(sum(max_data_length)/1024/1024,3),'MB') as max_data_leng
th,
-> concat(truncate(sum(data_free)/1024/1024,3),'MB') as data_free,
-> concat(truncate(sum(index_length)/1024/1024,3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.477MB | 268435455.999MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
以下测试tinyint
mysql> ALTER TABLE `userinfo`
-> ADD COLUMN `type` tinyint NOT NULL DEFAULT 0 COMMENT '反应类型' AFTER `i
ntegral`;
Query OK, 115597 rows affected (0.54 sec)
Records: 115597 Duplicates: 0 Warnings: 0
mysql> select concat(truncate(sum(data_length)/1024/1024,3),'MB') as data_size,
-> concat(truncate(sum(max_data_length)/1024/1024,3),'MB') as max_data_leng
th,
-> concat(truncate(sum(data_free)/1024/1024,3),'MB') as data_free,
-> concat(truncate(sum(index_length)/1024/1024,3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.477MB | 268435455.999MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
mysql> insert into userinfo(app,imei,type) values('','0',43);
Query OK, 1 row affected (0.00 sec)
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo'
-> ;
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.478MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
mysql> update userinfo set type=30;
Query OK, 115598 rows affected (2.70 sec)
Rows matched: 115598 Changed: 115598 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 22.038MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
以下测试enum
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.478MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
mysql> ALTER TABLE `userinfo`
-> ADD COLUMN `type` enum('未知','化合','分解','置换','复分解','取代','加成'
,'消去','加聚','酯化','水解','聚合','缩聚','吸热','放热','氧化','还原') AFTER `i
ntegral`;
Query OK, 115597 rows affected (0.63 sec)
Records: 115597 Duplicates: 0 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.694MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
mysql> update userinfo set type='复分解';
Query OK, 115597 rows affected (2.54 sec)
Rows matched: 115597 Changed: 115597 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.694MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
以下测试set
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo'
-> ;
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.478MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
mysql> ALTER TABLE `userinfo`
-> ADD COLUMN `type` set('未知','化合','分解','置换','复分解','取代','加成',
'消去','加聚','酯化','水解','聚合','缩聚','吸热','放热','氧化','还原') AFTER `in
tegral`;
Query OK, 115597 rows affected (0.61 sec)
Records: 115597 Duplicates: 0 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 21.590MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.01 sec)
mysql> update userinfo set type='加成';
Query OK, 115597 rows affected (3.63 sec)
Rows matched: 115597 Changed: 115597 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 23.235MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.00 sec)
mysql> update userinfo set type='加成,取代,消去,放热';
Query OK, 115597 rows affected (4.37 sec)
Rows matched: 115597 Changed: 115597 Warnings: 0
mysql> select concat(round(sum(data_length/1024/1024),3),'MB') as data_size,
-> concat(round(sum(max_data_length/1024/1024),3),'MB') as max_data_length,
-> concat(round(sum(data_free/1024/1024),3),'MB') as data_free,
-> concat(round(sum(index_length/1024/1024),3),'MB') as index_length
-> from information_schema.tables where table_name='userinfo';
+-----------+-----------------+-----------+--------------+
| data_size | max_data_length | data_free | index_length |
+-----------+-----------------+-----------+--------------+
| 23.235MB | 268435456.000MB | 0.000MB | 1.319MB |
+-----------+-----------------+-----------+--------------+
1 row in set (0.01 sec)
数据库类型空间效率探索(四)-tinyint与enum与set的更多相关文章
- 数据库类型空间效率探索(五)- decimal/float/double/varchar
以下测试为userinfo增加一列,列类型分别为decimal.float.double.varchar.由于innodb不支持optimize,所以每次测试,都会删除表test.userinfo,重 ...
- 数据库类型空间效率探索(三)-char
测试环境 表信息 表数据量22.23万,占用空间44.494M 用到的sql语句 增加列:alter table t_type add column new_column char(1) defaul ...
- Oracle数据库类型
Oracle数据库类型 字符类型char[(length)] 定长字符 最长2000字节varchar2[(length)] 可变长度的字符数据类型,最长4000字节NCHAR[(length)] 固 ...
- MySql数据库优化必须注意的四个细节(方法)
MySQL 数据库性能的优化是 MySQL 数据库发展的必经之路, MySQL 数据库性能的优化也是 MySQL 数据库前进的见证,下文中将从从4个方面给出了 MySQL 数据库性能优化的方法. 1. ...
- 数据库表空间收缩之pg_squeeze,pg_repack
数据库表空间收缩之pg_squeeze,pg_repack 目录 数据库表空间收缩之pg_squeeze,pg_repack pg_squeeze1.2 原理 优点 安装 使用 pgstattuple ...
- oracle数据库表空间追加数据库文件方法
oracle数据库表空间追加数据库文件方法 针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G 第一种方式:表空间增加数据文件 www.2cto.com 1 ...
- Java与数据库类型对照表
数据库类型 Java类型 INTEGER int or java.lang.Integer BIGINT long or java.lang.Long SMALLINT short o ...
- Spring MVC动态切换数据源(多数据库类型)
最近由于项目需求,需要将Sql Server 和 Mysql 两种数据库整合到一个项目,项目的用到的框架是SSM. 因此尝试了利用AOP切面来切每次执行的Servcie方法,根据Service所在的包 ...
- [C#]实现任何数据库类型的DbHelper帮助类
本文章为原创内容,如需转载,请注明作者及出处,谢谢! 一.在System.Data.Common命名空间下,存在这样的一个类: // // 摘要: // 表示一组方法,这些方法用于创建提供程序对数据源 ...
随机推荐
- python中的lstrip、rstrip、strip
lstrip()移除左侧空白符 rstrip()移除右侧空白符 strip()移除两边的空白符 1 a = " hello world" 2 a1 = a.lstrip()3 pr ...
- hdfs 如何实现退役节点快速下线(也就是退役节点上的数据块快速迁移)speed up decommission blocks removal
以下是选择复制源节点的代码 代码总结: A=datanode上要复制block的Queue size与 target datanode没被选出之前待处理复制工作数之和. 1. 优先选择退役中的节点,因 ...
- NFS服务基本配置及使用
操作系统:redhat 7.2 参考链接:https://www.cnblogs.com/dscode/p/6146409.html NFS:Network File System 一.服务器端配置 ...
- JsonConvert
///"{'jsonParam' : " + jsonText + "}" /* Dictionary<string, object> tmp = ...
- day11-元组与字典
1.元组Tuple与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用中括号.元组可以查询,可以使用内置函数count.index.但是不能修改.增加.删除(儿子不能,孙子有可能). ...
- vue:再vue-cli项目中使用window以及调用window上的方法
一: 1:在main.js中 Vue.prototype.myfunction = function() {/*你的自定义Vue方法*/} 2:在mounted(或其他生命周期中) 或者 method ...
- Go的50度灰:Golang新开发者要注意的陷阱和常见错误(转)
目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable ...
- shell编程:基本语法
要掌握一门语言,就要先掌握它的语法.如同C语言一般,shell也有自己的语法. 变量 按照惯例,Shell变量通常由字母加下划线开头,由任意长度的字母.数字.下划线组成.有两种类型的Shell变量: ...
- C++ new 和malloc 区别
1.分配地方不同,malloc是堆上面,new是自由存储区域 2.malloc/delete是函数,new/delete是操作符,可以重载 3.malloc 要指定大小,返回的是void*指针,开辟的 ...
- 【原创】利用Office宏实现powershell payload远控
本文将演示使用Veil-Evasion生成远控所需要的payload以及监听器,然后使用MacroShop生成payload 相关的VBA代码,最后演示将VBA代码写入.doc文本文档的宏中. 环境: ...