1. 避免使用 select * 你需要什么信息,就查詢什么信息,查詢的多了,查詢的速度肯定就會慢
2. 當你只需要查詢出一條數據的時候,要使用 limit 1 比如你要查詢數據中是否有男生,只要查詢一條含有男生的記錄就行了,后面不需要再查了,使用Limit 1 可以在找到一條數據后停止搜索
3. 建立高性能的索引 索引不是隨便加的也不是索引越多越好,更不是所有索引對查詢都有效
4. 建數據庫表時,給字段設置固定合適的大小. 字段不能設置的太大,設置太大就造成浪費,會使查詢速度變慢
5. 要盡量使用not null
6. EXPLAIN 你的 SELECT 查詢 使用EXPLAIN,可以幫助你更了解MySQL是如何處理你的sql語句的, 你可以查看到sql的執行計劃,這樣你就能更好的去了解你的sql語句的不足,然后優化語句.
7. 在Join表的時候,被用來Join的字段,應該是相同的類型的,且字段應該是被建過索引的,這樣,MySQL內部會啟動為你優化Join的SQL語句的機制。
8. 如果你有一個字段,比如“性別”,“國家”,“民族”, “省份”,“狀態”或“部門”,這些字段的取值是有限而且固定的,那么,應該使用 ENUM 而不是 VARCHAR。
因為在MySQL中,ENUM類型被當作數值型數據來處理,而數值型數據被處理起來的速度要比文本類型快得多。這樣,我們又可以提高數據庫的性能。
9. 垂直分割 將常用和有關系的字段放在相同的表中,把一張表的數據分成幾張表 這樣可以降低表的復雜度和字段的數目,從而達到優化的目的