mysql字段類型優化

選型原則:在保證足夠用的前提下儘量選擇最小類型!

整型數據優化

存儲人的年齡應該使用哪種數據類型?答:使用tinyint類型(無符號型)

存儲烏龜的年齡應該使用哪種數據類型?答:使用smallinit類型(無符號型)

存儲一個1500萬數據的數據表其主鍵id應該選擇哪種數據類型?答:使用mediumint(無符號型),大約在0-1600萬左右

①考慮空間問題

②考慮範圍問題(unsigned無符號)

字符串類型優化

char(length)佔用的空間爲 固定的,與內容多少無關;

varchar(length)佔用的空間爲 實際內容字符個數*字節 + 1

如果要存儲一個11位的手機號碼?答:選擇char11)比較合適

如果要存儲一個32位的md5加密密碼?答:選擇char32)比較合適

如果要存儲一個用戶名或一個標題,由於不確定具體要存放多少個字符,爲了避免空間的浪費建議使用varchar類型。

如果要存儲一個描述信息(不超過250個漢字),使用varchar255)比較合適。

如果要存儲一個文本信息(文章內容),其超過了255個字符,建議使用text文本類型。

時間類型優化

在實際應用中,由於date類型主要用於存儲時間信息,但是在php中,我們有相關的函數可以對整型數據和時間進行轉化,所以實際應用中,大部分情況存儲時間都是轉化爲整型數據直接存儲的

5、枚舉類型與集合類型

如果程序中有單選或多選情況,不建議使用varchar類型,而建議使用枚舉類型或集合類型。

6、IP類型數據的存儲


經常要保存IP地址,這個時候不建議使用varchar類型來保存數據,而建議使用整型來保存IP信息


//php中ip轉整形

echo ip2long("192.168.1.1");

//整形轉ip

echo long2ip(3232235777);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章