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