Mysql tinyint还是varchar(1)?
我在一些表中有一些字段只能包含从Mysql tinyint还是varchar(1)?,mysql,types,Mysql,Types,我在一些表中有一些字段只能包含从0到9的值,而其他字段可以包含0或1 根据您的经验,使用TINYINT或VARCHAR(1)存储它是否更好 至于内存使用率、识别它们的速度等等…虽然我会选择CHAR(1)而不是varchar,但这并不重要 如果你用这个值作为一个数字(你要加减它们),就用TinyInt 否则,试着向前看。是否有可能出现新的价值观?那么范围是多少?这取决于如何使用值:作为字符串或数字。如果要将它们用作数字,TINYINT(1)肯定会更好,因为mysql不需要进行不必要的转换。对于单字
0到9的值,而其他字段可以包含0或1
根据您的经验,使用TINYINT
或VARCHAR(1)
存储它是否更好
至于内存使用率、识别它们的速度等等…虽然我会选择CHAR(1)
而不是varchar,但这并不重要
如果你用这个值作为一个数字(你要加减它们),就用TinyInt
否则,试着向前看。是否有可能出现新的价值观?那么范围是多少?这取决于如何使用值:作为字符串或数字。如果要将它们用作数字,TINYINT(1)
肯定会更好,因为mysql不需要进行不必要的转换。对于单字符字符串,您可以使用CHAR(1)
如果您可以使用TINYINT(1)
,您最好使用它,因为VARCHAR(1)
每行占用的空间量是前者的两倍TINYINT(1)
每行仅使用1个字节,而VARCHAR(1)
使用1个字节作为长度,然后使用另一个字节作为实际数据。这将使查询中使用的数据量以及任何相关索引等增加一倍。Uhm否,它们由PHP脚本过滤,只能是数字。Tinyint是1字节,yeah不是很高:)我认为存储1或0的字段应该是布尔值,但我认为没有:)是的,它们只会是整数。所以Tinyint;)在mysql之外,不是所有的东西都被视为一种毒刺吗?这将只适用于mysql操作,如orderby
等,对吗?tinyint unsigned???