CHAR 優於 VARCHAR(查詢速度較快)| 型別 | 儲存大小 |
|---|---|
| TINYINT | 1 Byte |
| SMALLINT | 2 Bytes |
| MEDIUMINT | 3 Bytes |
| INT / INTEGER | 4 Bytes |
| BIGINT | 8 Bytes |
| FLOAT (X≤24) | 4 Bytes |
| DOUBLE / FLOAT (X>24) | 8 Bytes |
| DECIMAL(M,D) | M Bytes (M≥D) |
| DATE | 3 Bytes |
| DATETIME | 8 Bytes |
| TIMESTAMP | 4 Bytes |
| TIME | 4 Bytes |
| YEAR | 1 Byte |
| CHAR(M) | M Bytes |
| VARCHAR(M) | 實際長度 + 1 Byte |
| TINYBLOB/TEXT | 實際長度 + 1 Byte |
| BLOB/TEXT | 實際長度 + 2 Bytes |
| MEDIUMBLOB/TEXT | 實際長度 + 3 Bytes |
| LONGBLOB/TEXT | 實際長度 + 4 Bytes |
| ENUM | 1-2 Bytes (視枚舉值數) |
| SET | 1,2,3,4,8 Bytes (視成員數) |
GROUP BY 欄位按出現順序建立複合索引DISTINCT 欄位按出現順序建立複合索引WHERE ... AND ... 多欄位按出現順序建立複合索引WHERE ... OR ... 單獨為重複值最少的欄位建單欄索引NOT NULLLIMIT 偏移量越小越快(LIMIT 10000, 20 比 LIMIT 0, 20 慢)WHERE AND 多欄位順序與複合索引定義順序一致LIKE 通配符不在最左端才用索引(LIKE 'abc%' 用索引,LIKE '%abc' 不用)JOIN 實現WHERE OR 不同欄位拆分為多條單一欄位查詢效率更高SHOW INDEX 檢視)OPTIMIZE TABLE 整理碎片