選型原則:在保證足夠用的前提下儘量選擇最小類型!
整型數據優化
①存儲人的年齡應該使用哪種數據類型?答:使用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類型,而建議使用枚舉類型或集合類型。
6、IP類型數據的存儲
經常要保存IP地址,這個時候不建議使用varchar類型來保存數據,而建議使用整型來保存IP信息
//php中ip轉整形
echo ip2long("192.168.1.1");
//整形轉ip
echo long2ip(3232235777);