CHAR 優於 VARCHAR。雖佔較多空間,但頻繁更新的表格能避免碎片,處理速度更快。CHAR(40),勿用 CHAR(255)。整數型別同理,MEDIUMINT 優於 BIGINT,表格更小、運算更快。NOT NULL: 處理更快、佔空間更少、查詢邏輯更簡單(無需處理 NULL 特例)。ENUM: 固定值集合的欄位改為 ENUM,內部以數值儲存,比較更高效。PROCEDURE ANALYSE(): MySQL 3.23+ 可分析表格並建議最佳欄位型別。可限制 ENUM 建議條件(如值數 ≤16、長度 ≤256 位元組)避免定義過長。BLOB 封裝資料: 將結構化/半結構化資料打包存入單一 BLOB,可減少查詢次數、簡化結構變更(如問卷增減題目)。代價是應用層需編解碼,且大量 DELETE/UPDATE 易產生碎片。OPTIMIZE TABLE: 含可變長欄位(特別是 BLOB)的表格易碎片,定期整理可維持效能。BLOB 或大型文字欄位,建立雜湊值欄位(MySQL 3.23.2+ 可用 MD5())並建立索引,精確比對查詢極快(不支援範圍搜尋)。BLOB/TEXT: 除非 WHERE 子句能精確鎖定列,否則勿用 SELECT *。可另存識別欄位先篩選,再取 BLOB。BLOB 獨立到子表: 移出 BLOB 後主表轉為定長列格式,減少碎片並享有定長列效能優勢。