數(shù)據(jù)庫smallint數(shù)據(jù)類型 使用MySQL的時候bit和tinyint類型用的多嗎?
使用MySQL的時候bit和tinyint類型用的多嗎?位(m):表示位字段類型。其中m是每個值的位數(shù),范圍從1到64,默認(rèn)值為1。Tinyint:屬于數(shù)字類型,用于存儲小范圍的數(shù)字,具有正負(fù)概念。基
使用MySQL的時候bit和tinyint類型用的多嗎?
位(m):表示位字段類型。其中m是每個值的位數(shù),范圍從1到64,默認(rèn)值為1。
Tinyint:屬于數(shù)字類型,用于存儲小范圍的數(shù)字,具有正負(fù)概念。基本使用場景是小型字典或枚舉類型。
眾所周知,在mysql中,適當(dāng)長度的字符存儲不僅節(jié)省了數(shù)據(jù)空間,而且減少了索引的存儲,更重要的是加速了內(nèi)容的檢索。另外,對于tinyint,建議盡量使用無符號正數(shù),以擴(kuò)大表示范圍。例如,當(dāng)我們表示一個人的年齡時,我們可以將其設(shè)計(jì)為tinyint,因?yàn)閠inyint unsigned value的范圍表示0-255。
此外,對于布爾類型字段,還不清楚。在Java中,最好使用無符號tinyint,其中1表示true,0表示false。在一定范圍內(nèi),也建議使用無符號tinyint。雖然在某些業(yè)務(wù)場景中bit可以代替tinyint來進(jìn)一步節(jié)省空間,但是bit的設(shè)計(jì)是相對二進(jìn)制的,不屬于數(shù)字類型。在我們的業(yè)務(wù)場景中,數(shù)字型一般用于操作、分支判斷等,因此優(yōu)先于非二進(jìn)制型。
Mysql中為什么不都用int,而要區(qū)分tinyint,smallint等?
Tinyint和smallint占用較少的存儲空間,smallint的存儲大小為
2字節(jié)。Tinyint存儲大小為
1字節(jié)。int的存儲大小是4字節(jié)。