是否可以定义仅7位长的整数类型?或至少1个字节长?我想替换存储在数据库中的标准整数以减小大小。我主要使用的是那些数据库:MySQL,Sparksee(用于图形)。还有那些语言:C ++,Objective-C ++。使用char而不是int-我的最佳选择?

最佳答案

MySQL支持TINYINT(8位),SMALLINT(16位),MEDIUMINT(24位),INT(32位)和BIGINT(64位)数据类型。 http://dev.mysql.com/doc/refman/5.7/en/integer-types.html

相应的C语言数据类型是int8_tint16_tint32_tint64_t。 C中没有标准的24位数据类型。有关更多信息,请参见此。 http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html

这些是签名的数据类型。因此,例如,int8_t的潜在值在[-128,127]范围内。

您将需要在系统中使用大量记录,以便使用较小的整数超过一美元来节省成本。目前,SSD驱动器每GB的成本不到0.50美元。最好在其他地方花费时间和精力。

10-06 10:24
查看更多