我有一些表中只能包含0 to 9
的值的字段,以及其他可以包含0 or 1
的字段。tinyint或varchar(1)?
爲了您的經驗,最好是將它與TINYINT
或VARCHAR(1)
一起存放?
內存使用,速度識別它們,等等...
我有一些表中只能包含0 to 9
的值的字段,以及其他可以包含0 or 1
的字段。tinyint或varchar(1)?
爲了您的經驗,最好是將它與TINYINT
或VARCHAR(1)
一起存放?
內存使用,速度識別它們,等等...
這取決於你將如何使用值:作爲字符串或數字。如果您打算將它們用作數字,TINYINT(1)
肯定會更好,因爲mysql不需要進行不必要的轉換。對於1個字符的字符串,您可以使用CHAR(1)
。
是的,他們將只是整數。所以Tinyint;) – markzzz 2011-04-23 15:17:10
它不應該的問題一個whol很多,但我會選擇CHAR(1)
超過VARCHAR。
如果您將該值用作數字,即您將要添加或減去它們,請使用TinyInt。
否則,試着向前看。有沒有機會會有新的價值?那麼範圍會是什麼?
嚴禁,他們被PHP腳本過濾,只能是數字。 Tinyint是1個字節,是啊不是那麼高:)我對像BOOLEAN這樣的存儲1或0字段的東西感興趣,但我認爲沒有:) – markzzz 2011-04-23 15:14:31
tinyint大概無符號??? – 2011-04-23 16:52:06