我应该在MySQL中使用SMALLINT而不是DATETIME来节省空间吗?

Ken*_*age 2 mysql size datetime

我正在尝试决定是否使用SMALLINT(4)和DATETIME来表示MYSQL中的一年.

我的桌子需要有型号年份,但我不想浪费像这样的月份或日期:20xx-01-01 00:00:00.

所以我可以节省代表一年的空间,如下所示:

year SMALLINT(4);
Run Code Online (Sandbox Code Playgroud)

如果这不是很大的节省,我可以使用DATETIME.如果使用4位数年份有利于节省空间,那么我如何将$_POST四位数年份作为DATETIME?

ajr*_*eal 6

MySQL中有年份数据类型 - http://dev.mysql.com/doc/refman/5.1/en/year.html

YEAR类型是1字节类型,用于表示年份值.它可以声明为YEAR(4)或YEAR(2)以指定四个或两个字符的显示宽度.如果没有给出宽度,则默认为四个字符.

注意:

YEAR(2)数据类型在选择使用之前应考虑某些问题.从MySQL 5.1.65开始,YEAR(2)已被弃用.

可能的范围:1901到2155,或0000