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