Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql tinyint还是varchar(1)?_Mysql_Types - Fatal编程技术网

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???