mysql字段类型大小了解
转自:https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39325,https://learnku.com/articles/36479
1.数值类型
可以通过它来计算查询结果集所占大小,一行数据占的内存大小。
tinyint(M), M默认为4;
SMALLINT(M), M默认为6;
MEDIUMINT(M), M默认为9;
INT(M),M默认为11;
BIGINT(M),M默认为20. M表示最大显示宽度, 建表若设置了zerofill(0填充),会在数字前面补充0。M和该字段所占的字节大小无关!字节大小是固定的。
//似乎这个用处不大,只是用于展示数据时的格式对齐?
例如INT(10)和INT(11)在存储方面确实没什么不同,设置长度只有在设置了自动填充 ZEROFILL 的时候才体现出来, 比如 id=1 长度为 int (5) 的话会显示 00001(左侧数字0)。
一旦人工设置了 ZEROFILL 属性,MySQL 会自动设置 UNSIGNED 属性(即 ZEROFILL 不能存储负数)。
2.字符串类型
3.时间类型