1. 程式人生 > >mysql列類型選擇

mysql列類型選擇

lin 一個 all sql 空間 arch arc 無法使用 表示


比如年齡這個字段可以使用 1990-03-15 也可以用 19900315表示
在列類型上可以選擇 char 和 int;
如果一個字段可以選擇多種類型,盡量選擇一個更快的類型;
字段類型優先級 整型>date,time>char,varchar>blob
整型,time運算快,節省空間
char/varchar要考慮字符集的轉換與排序的校對集,速度慢
blob無法使用內存臨時表
enum類型 內部是用整型來存儲的,所以速度也是跟int一樣的,但是需要註意,如果enum存儲的字符串和 char類型字段
關聯查詢,enum內部需要一次轉化,要花時間,enum和char列關聯的速度要慢於char和char,但是也要看情況具體分析;


如果確定要用int還可以考慮一下是否可以用 smallint/tinyint,
能夠char(10)解決的不要用char(20) ,不要太慷慨了;

盡量避免用NULL
NULL不利於索引,要 用特殊的字節來標註,在磁盤上占據的空間其實更大。

mysql列類型選擇