千家信息网

MYSQL(三)数据类型的优化选择

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,整数类型:Tinyint-8Smallint-16Mediumint-24Int-32Bigint-64实数类型(带有小数部分的数字)Float-4/double-8:浮点Decimal:精确(只是存
千家信息网最后更新 2026年11月02日MYSQL(三)数据类型的优化选择

整数类型:

Tinyint-8

Smallint-16

Mediumint-24

Int-32

Bigint-64


实数类型(带有小数部分的数字)

Float-4/double-8:浮点

Decimal:精确(只是存储格式,在计算中会转为double类型)

浮点类型在存储同样范围的值时,通常比decimal使用更少的空间。


字符串类型:

Varchar:可变长字符串(需要1-2个字节存储字符串长度)

优点:比定长类型节约空间;

缺点:碎片问题。字符串update变长时,一个行的占用空间变长,但是在页内没有更多空间存储,MYISAM将行拆成不同片段存储,InnoDB分裂页使行可以放进页内;

适用:字符串最大长度比平均长度大很多;列的更新很少;

Char:定长字符串(mysql会删除所有末尾空格)

优点:不易产生碎片

适用:存储密码的MD5值;经常变更的数据;


大型数据类型:

Blob:二进制

Text:字符

特殊性:mysql将blob和text值当做一个独立的对象处理,当值太大时,innodb在值内存储一个指针,外部存储区域存储实际的值;mysql对blob和text的排序,只对每列的最前max_sort_length进行排序;mysql不能将列的全部长度字符串进行索引,也不能使用这些索引进行排序;


枚举类型ENUM:

mysql在存储枚举类型时非常紧凑;

Mysql在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存"数字-字符串"的映射关系的查找表;

缺点:字符串列表是固定的,添加或删除字符串都需要alter table;

优点:可以缩小表的大小;主键减小后,innodb表的非主键索引也会变小;

关联速度:enum列 关联 enum列 > varchar列 关联 varchar列 > enum列 关联 varchar列


日期时间类型:

Datetime:8字节;与时区无关;保存大范围的值,从1001年到9999年,精度为秒;

Timestamp(尽量使用):4字节;依赖于时区;保存1970.1.1以来的秒数;列默认为not null;


Timestamp的特殊性:如果插入数据时没有指定第一个timestamp列的值,mysql则设置这个值为当前时间;


字符 类型 字符串 存储 空间 长度 关联 数据 优点 字节 索引 排序 特殊 数字 整数 时区 时间 浮点 特殊性 碎片 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 百单网互联网科技有限公司 互联网是第几次科技革命的成果 山东特亿宝互联网科技有限公司 科技平台互联网 中资互联网科技 北京互联网科技有限公司 互联网和高科技公司 新华互联网科技2019 互联网还是高科技吗 浙江互联网科技研学营 想开互联网科技公司怎么样 中国互联网公司排名锤子科技 互联网科技公司营业执照怎么办理 互联网安防科技感 半导体是互联网高科技吗 南京一网一红互联网科技有限公司 唐山双旺合互联网科技产业园 互联网科技的前景 承德科技产业互联网平台 互联网黑科技 深圳九邦互联网科技有限公司 互联网科技活动banner 互联网与未来科技 天津摩尔互联网科技 滨湖区互联网智能科技产品供应 国大互联网教育科技有限公司工作 九思连强互联网电子科技有限公司 优雇互联网科技有限公司 恒生科技互联网指数十大成分股
0