首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据类型大小测试

测试版本:MySQL 5.5.56 测试类型:int、bigint、float、double、char、varchar 测试结果 长度 int bigint float double char varchar...位,bigint 18 位,flat 38 位,double 82 位,char 255 位、varchar 255 位 (2)字符串定义的长度即字符个数,但数字类型定义的长度并不代表数字位数 测试数据.../* Navicat Premium Data Transfer Source Server : localhost_3306 Source Server Type : MySQL...50556 Source Host : localhost:3306 Source Schema : test Target Server Type : MySQL...版本、不同的数据库引擎和不同的字符编码格式结果会大同小异 (2)这里测试的场景是MySQL5.5.56,InoDB引擎,UFT-8编码,测试结果仅供参考 (3)其他不同版本、数据库引擎和字符编码等不同情况下的差异可以自行测试

61620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql删除表数据,表文件大小不变

    首先明确一个概念,innodb表包含两部分,表结构定义和数据Mysql8.0以前表结构定义存放在.frm为后缀的文件里,而Mysql8.0版本以后允许表结构定义放到系统数据表中,因为表结构定义占用的空间很小...,因此我今天主要说是表数据, 日常开发中,当我们删除一个表的的数据的时候,发现表空间大小并不会变小,我们要知道为什么会发生这样神奇的事, 参数innodb_file_per_table 表数据可以存在共享表空间里...这个时候插入一条id=50的时候,要创建新的数据页的时候,就会复用pageA, 现在我们知道delete 命令只会把记录的位置或数据页标记为可复用,但是磁盘的文件大小不会变小,也就是说delete并不会回收表空间...我们可以使用下面命令重建表,在mysql5.5版本之前,这个命令的执行流程跟我们前面描述的差不多,区别就是这个临时表B不需要手动创建,MySql会自动完成转存数据,就换表明,删除旧表的操作 ?...显然上图中最花时间的步骤是往临时表插入数据的过程,如果整个过程中,有新的数据写入是不被允许的,这个就会造成数据丢失,表A不会有数据的更新,这个DDL不是Online的 但是在mysql5.6版本开始引入

    5K10

    MySQL 性能优化--优化数据库结构之优化数据大小

    通常,执行查询期间处理表数据时,小表占用更少的内存。 表列 l 尽可能使用最效率(最小)的数据类型。比如,使用更小的整型以便于获取更小的表。...行格式 l MySQL 5.7.8及以前版本,默认的,以COMPACT行格式创建InnoDB表。从5.7.9开始,默认行格式为DYNAMIC。.../doc/refman/5.5/en/dynamic-format.html l 不同表中用相同的数据类型声明携带相同信息的数据列,加快基于对应列的join速度。...l 如果速度比磁盘空间,保存多份数据副本的维护成本更重要,例如,在一个商业智能场景中,分析来自大表的所有数据,可以适当放宽标准化规则,冗余数据信息或创建汇总表以获取更快的速度。...参考连接: http://dev.mysql.com/doc/refman/5.7/en/data-size.html

    2.3K20

    设置MySQL数据库不区分大小

    我们大家可能都碰到过这种情况:在Linux下,MySQL的表名区分大小写,而在Windows下是不区分,从Windows下导出的数据脚本中使用的是小写,而Hibernate生成的SQL中表名是大写的,所以查不出数据...这个时候怎么办呢,显然改程序是不行的,时间上也不允许,所以只能设置MySQL数据库不区分大小写了,大家看以下步骤: 1、查询MySQL是否设置了区分大小写 show variables like "%case...其中lower_case_table_names代表了:0是区分大小写; 1是不区分大小写。显然我这个MySQL是区分大小写的。...拓展知识 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的...; 4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写。

    16.4K21

    MySQL大小写敏感总结

    MySQL中,数据库、表、triggers实际上都对应了datadir目录(或子目录)下的文件,因此,这些对象的名字是否大小写敏感主要是依赖于操作系统和文件系统的,因此这些内容在Windows中是大小写是不敏感的...):大小写敏感,数据按照CREATE 语句中的定义存储在磁盘,且在查询的时候是区分大小写的; 注意:不要在大小写不敏感的系统上使用此设置,因为容易导致像MyISAM引擎表的索引崩溃; lower_case_table_names...=1(Windows default):大小写不敏感,MySQL数据全部转化为小写形式存储在磁盘上,而且在查询的时候也是全部转化为小写进行比较; lower_case_table_names =2(...5、数据敏感性:由Mysql的校对字符集规则来控制(Collation),默认大小写不敏感; 每一个字符型column都有一个“字符集属性(character set)”和一个“校对集属性(collation...MYSQL轻松学

    3.6K40

    mysql查询表占用空间大小_oracle查看表空间大小

    文章目录 前言 1、切换数据库 2、查看所有数据库容量大小 3、查看指定数据库使用大小 4、查看表使用大小 5、查看所有数据库容量大小 6、查看所有数据库各表容量大小 7、查看指定数据库容量大小 8、查看指定数据库各表容量大小...总结 前言 CentOS7 安装MySQL8详细步骤 CentOS7 环境下MySQL常用命令 在mysql中有一个默认的数据表information_schema,information_schema...这张数据表保存了MySQL服务器所有数据库的信息。...再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表...---- 1、切换数据库 use information_schema; 2、查看所有数据库容量大小 select table_schema as '数据库', sum(table_rows) as '

    5.3K10

    mysql大小写踩坑

    翻译过来大致 按大小写敏感存储表名 按小写形式存储表名 比较时不区分大小写 按大小写敏感存储表名 以小写字母进行比较 他们的默认值在不同系统下面有区分 MacOS2 Unix0 Windows1 然后注意...ubuntu下重启mysql服务不是mysqld而是mysql,下面是ubuntu的三种重启方式 # 重启服务 service mysql restart; # 重启系统服务 systemctl restart...mysql # 重启mysql,请确认路径 /etc/init.d/mysql restart 修改后可以用这三个sql查询是否生效 select @@lower_case_table_names;...中的表是按照大写表名去查,而我们此处配置的,并不是查询时忽略表名大小写,而是全部以小写表名去查询 因此配置了lower_case_table_names = 1后,大写表名用大写sql一律作废匹配不到...这里我们可以使用mysql数据库信息函数去按规则[2]查询出表名转换为小写,再拼接成多条sql 或者使用存储过程、代码处理等方式 这里我使用以下sql: SELECT CONCAT( 'ALTER TABLE

    1.6K20
    领券