1. 硬件優化
1.1 內存(Memory)
內存是最重要的因素,因為它允許您調整服務器系統變量。更多的內存意味着可以將更大的密鑰和表緩存存儲在內存中,從而減少磁盤訪問速度,降低一個數量級。
如果未將服務器變量設置為使用額外的可用內存,則僅添加更多內存可能不會帶來顯着改進。
在主板上使用更多RAM插槽會增加總線頻率,RAM和CPU之間會有更多延遲。因此,最好使用每個插槽的最大RAM大小。
1.2 磁盤(Disks)
快速磁盤訪問至關重要,因為最終它是數據所在的位置。關鍵指標是磁盤搜索時間,衡量物理磁盤移動訪問數據的速度,因此請選擇尋道時間盡可能低的磁盤。
您還可以為臨時文件和事務日志添加專用磁盤。
1.3 網速(Ethernet)
更快的網速主要影響數據接收和發送的速度,在可能的情況一般建議采用局域網的連接方式。
1.4 處理器(CPU)
雖然硬件瓶頸通常落在其他地方,但更快的處理器允許更快地執行計算,並且結果更快地發送回客戶端。
除處理器速度外,處理器的總線速度和高速緩存大小也是需要考慮的重要因素。
2. 創建索引
通常用的索引:主鍵(Primary keys),唯一索引(Unique Index),普通索引(Plain Index),全文索引(Full-Text Index)
2.1 主鍵(Primary keys)
主鍵是唯一的,永遠不能為空,否則無法創建索引。它始終只能識別一條記錄,並且必須表示每條記錄。每個表只能有一個主鍵。
在XtraDB / InnoDB表中,所有索引都包含主鍵作為后綴。因此,當使用該存儲引擎時,保持主鍵盡可能小是特別重要的。如果主鍵不存在且沒有UNIQUE索引,則InnoDB會創建一個6字節的聚簇索引,該索引對用戶不可見。
2.2 唯一索引(Unique Index)
唯一索引必須是唯一的,但它可以為null,可以單個列和多個列組合。
2.3 普通索引(Plain Index)
不需要唯一,可以單個列和多個列組合。
3.合理利用索引以及優化Sql語句
<,<=,> =,>,BETWEEN,LIKE 'xxx%' 都是能應用索引的;
但是例如:<>,!=,LIKE '%xxx' 等都是不會應用索引查詢,一般情況單個表中的索引最好不要超過6個。
至於SQL優化這個范圍有點廣,后續再看看寫吧~~~
