選型原則:在保證足夠用的前提下盡量選擇最小型別!
①儲存人的年齡應該使用哪種資料型別?答:使用
tinyint
型別(無符號型) ②
儲存烏龜的年齡應該使用哪種資料型別?答:使用
smallinit
型別(無符號型) ③
儲存乙個
1500
萬資料的資料表其主鍵
id應該選擇哪種資料型別?答:使用
mediumint
(無符號型),大約在
0-1600
萬左右
①考慮空間問題
②考慮範圍問題(unsigned無符號)
char(length)占用的空間為 固定的,與內容多少無關;
varchar(length)占用的空間為 實際內容字元個數*位元組 + 1
①如果要儲存乙個
11位的手機號碼?答:選擇
char(11
)比較合適 ②
如果要儲存乙個
32位的
md5加密密碼?答:選擇
char(32
)比較合適 ③
如果要儲存乙個使用者名稱或乙個標題,由於不確定具體要存放多少個字元,為了避免空間的浪費建議使用
varchar
型別。
④如果要儲存乙個描述資訊(不超過
250個漢字),使用
varchar
(255
)比較合適。
如果要儲存乙個文字資訊(文章內容),其超過了
255個字元,建議使用
text
文字型別。
在實際應用中,由於date型別主要用於儲存時間資訊,但是在php中,我們有相關的函式可以對整型資料和時間進行轉化,所以實際應用中,大部分情況儲存時間都是轉化為整型資料直接儲存的
5、列舉型別與集合型別
如果程式中有單選或多選情況,不建議使用varchar型別,而建議使用列舉型別或集合型別。
經常要儲存ip位址,這個時候不建議使用varchar型別來儲存資料,而建議使用整型來儲存ip資訊
//php中ip轉整形
echo ip2long("192.168.1.1");
//整形轉ip
echo long2ip(3232235777);
mysql欄位型別解析 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為數值型別 字串型別 ...
mysql 優化系列之欄位型別選取
mysql 優化是乙個很有意思的話題,可以從很多方面來說,大到伺服器集群,應用體系架構等,小到字段型別選擇,儲存引擎的選擇等,隨著mysql的發展,到目前 最新版本是8.0,筆者5.7 innodb 已是預設的儲存引擎 mysql 5.5 已將innodb作為預設儲存引擎 所以盡量選擇使用innod...
mysql時間型別欄位的優化技巧
最近開發乙個功能時需要查詢今天開播的主播使用者。在業務上我們有乙個資料表儲存了主播每次開播的記錄。表中有乙個時間型別的字段表示主播開播時間。為了業務安全,這裡用time欄位表明實際欄位.record表示資料表 在開始實現的時候想到的就是time 今天這種實現邏輯上比較直接。select distin...