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