MST

星途 面试题库

面试题:MySQL中整数类型数据类型优化策略之基础应用

在MySQL中,有一个存储用户年龄的字段,预计用户年龄范围在1到120岁之间,从数据类型优化角度考虑,你会选择哪种整数类型,为什么?并且说明该整数类型在存储空间上的优势。
15.4万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 选择的整数类型TINYINT UNSIGNED
  2. 原因
    • 用户年龄范围在1到120岁之间,TINYINT 类型有符号时范围是 - 128到127,无符号时范围是0到255,能满足1到120的年龄存储需求。
    • 相比其他整数类型,如 SMALLINT(有符号范围 - 32768到32767,无符号范围0到65535)、INT(有符号范围 - 2147483648到2147483647,无符号范围0到4294967295)等,TINYINT 占用空间更小,在满足需求的情况下,能有效节省存储空间。
  3. 存储空间优势
    • TINYINT 类型在MySQL中,无论是有符号还是无符号,通常占用1个字节(8位)存储空间。
    • SMALLINT 占用2个字节,INT 占用4个字节。使用 TINYINT UNSIGNED 存储年龄,相比 SMALLINT 可节省1个字节,相比 INT 可节省3个字节。在数据量较大时,这种存储空间的节省能带来显著的成本降低和性能提升(如磁盘I/O减少、内存占用降低等)。