教您如何正確選擇MySQL數(shù)據(jù)列類型
MySQL數(shù)據(jù)列類型選擇是在我們?cè)O(shè)計(jì)表的時(shí)候經(jīng)常會(huì)遇到的問題,下面就教您如何正確選擇MySQL數(shù)據(jù)列類型,供您參考學(xué)習(xí)。
選擇正確的數(shù)據(jù)列類型能大大提高數(shù)據(jù)庫的性能和使數(shù)據(jù)庫具有高擴(kuò)展性。在選擇MySQL數(shù)據(jù)列類型時(shí),請(qǐng)從以下幾個(gè)方面考慮:
存放到數(shù)據(jù)列中的數(shù)據(jù)類型。
數(shù)據(jù)值的取值范圍。
考慮性能和處理效率。
數(shù)值操作比字符操作快。
小類型的處理速度比大類型快。
不同數(shù)據(jù)表中固定長度類型和可變長度類型的處理效率是不同的。
可變長度類型在經(jīng)過刪除和修改操作后容易產(chǎn)生碎片,降低系統(tǒng)性能,需定期運(yùn)行OPTIMIZE TABLE命令以優(yōu)化數(shù)據(jù)表。
固定長度類型由于有固定的長度,所以容易確定每條記錄的起始點(diǎn),可加快數(shù)據(jù)表的修復(fù)速度。
在MyISAM和ISAM表中使用固定長度類型數(shù)據(jù)列有助改善數(shù)據(jù)庫性能。
在InnoDB表中,固定長度和可變長度數(shù)據(jù)列類型都以相同方式存儲(chǔ),所以固定長度數(shù)據(jù)列類型并沒有性能優(yōu)勢(shì),反而由于可度長度數(shù)據(jù)列類型由于占用存儲(chǔ)空間較少,所以處理速度會(huì)快些。
可索引類型能加快數(shù)據(jù)的查詢速度。
明確指定數(shù)據(jù)列的NOT NULL屬性可使MySQL在檢索過程中不用去判斷數(shù)據(jù)列是否是NULL,所以可加快處理速度。
數(shù)據(jù)如何進(jìn)行比較,是否區(qū)分大小寫。
是否要在數(shù)據(jù)列上建立索引。
【編輯推薦】
深度解析MySQL創(chuàng)建關(guān)聯(lián)表