数据类型选择
2023-09-12 17:27:00 5 举报
AI智能生成
数据类型选择
作者其他创作
大纲/内容
数据类型选择
更小的通常更好
字符串和整型优先选择整型
字符产牵扯字符集和校对规则
简单点
使用MySQL自建的类型
例如使用时间类型存时间,不要使用字符串存时间
尽量避免null
为null列会导致索引、索引统计、值比较更加复杂
为null是索引列多一个字节存储
整数类型
TINYINT
8(1字节)
无符号
0-255
有符号
-128-127
有无符号使用相同的存储空间具备相同的性能
navicate中存储设置11,那是交互工具的显示位数实际还是8字节
SMALLINT
16
MEDIUMINT
24
INT
32
BIGINT
64
MySQL中没有Long类型,只有bigint类型
实数类型
DECIMAL
精确类型
CPU不支持此类计算,使用字符串类型存放,MySQL自己实现
CPU支持原生float计算,所以float计算更快
FLOAT
4字节
DOUBLE
8字节
字符串类型
VARCHAR
需要额外使用1到2字节记录长度
<=255
1
> 255(字节)
2
CHAR
MySQL存自动删除末尾空格
BLOB
二进制存储
意味着无排序规则和字符集
建议将分到单独表中
TEXT
字符方式存储
建议将分到单独表中
ENUM
枚举列实例存储为整数,不要使用数字作为枚举常量
SET
日期和时间类型
MySQL存储最小时间粒度是秒
YEAR
DATE
DATETIME
时间范围(年):1001-9999
TIMESTAMP
时间范围(年): 1978-2038.和时区有关
BIGINT类型存储微秒级别时间戳
使用DOUBLE存储秒之后的小数部分
0 条评论
下一页
为你推荐
查看更多