選擇合適的資料型別:
char和varchar:char是固定長度的字元型別,varchar是可變長度的字元型別,因此char檢索起來速度更快。char由於是固定長度的在檢索的時候刪除了尾部的空格。
用text和blob時需要注意的問題有:
在執行大量刪除操作的時候會在資料表中留下很大的空洞,以後填入這些空洞的記錄在插入的效能上會有影響。因此需要定期使用optimize table指令對碎片進行整理。
可以使用合成的索引(根據文字內容建立乙個雜湊值)來提高文字欄位的查詢效能,具體的雜湊方式有sha1()、md5()、crc32()等,但切記其不支援模糊查詢、只能用於精確匹配。
如果需要對blob欄位進行模糊查詢,mysql提供了字首索引(只為字段的前n列建立索引)。
float和decimal:
float是浮點數、decimal是定點數。在儲存、比較和運算的時候應該盡量避免使用浮點數,浮點數在運算過程中可能會出現各種不確定因素。
字符集:
字符集有三個等級:資料庫級別、表級別、字段級別。
Mysql選擇合適的資料型別
一般情況下,由於char是固定長度的,所以它的處理速度比varchar要快的多,但是器缺點是浪費儲存空間,程式需要對行尾空格進行處理,所以對於那些長度變化不大並且對查詢速度有較高要求的詩句可以考慮使用char型別儲存。mysql中不同引擎對varchar和插入的使用原則 myisam 使用固定長度 ...
為Mysql選擇合適的資料型別
前提 使用適合儲存引擎。選擇原則 根據選定的儲存引擎,確定如何選擇合適的資料型別。下面的選擇方法按儲存引擎分類 對於innodb資料表,內部的行儲存格式沒有區分固定長度和可變長度列 所有資料行都使用指向資料列值的頭指標 因此在本質上,使用固定長度的char列不一定比使用可變長度varchar列簡單。...
MySQL學習筆記(六) 選擇合適的資料型別
char和varchar型別相似,都用來儲存字串,但是它們儲存和檢索的方式不同。char屬於固定長度的字元型別,而varchar屬於可變長度的字元型別。由於char是固定長度的,所以它的處理速度比varchar快得多,但是其缺點是浪費儲存空間,程式需要對行尾空格進行處理,所以對那些長度變化不大並且查...