MariaDB數據庫性能優化

1. 硬件優化

1.1 內存(Memory)

內存是最重要的因素,由於它容許您調整服務器系統變量更多的內存意味着能夠將更大的密鑰和表緩存存儲在內存中,從而減小磁盤訪問速度,下降一個數量級。緩存

若是未將服務器變量設置爲使用額外的可用內存,則僅添加更多內存可能不會帶來顯着改進。服務器

在主板上使用更多RAM插槽會增長總線頻率,RAM和CPU之間會有更多延遲。所以,最好使用每一個插槽的最大RAM大小。優化

1.2 磁盤(Disks)

快速磁盤訪問相當重要,由於最終它是數據所在的位置。關鍵指標是磁盤搜索時間,衡量物理磁盤移動訪問數據的速度,所以請選擇尋道時間儘量低的磁盤。spa

您還能夠爲臨時文件和事務日誌添加專用磁盤。日誌

1.3 網速(Ethernet)

更快的網速主要影響數據接收和發送的速度,在可能的狀況通常建議採用局域網的鏈接方式。server

1.4 處理器(CPU)

雖然硬件瓶頸一般落在其餘地方,但更快的處理器容許更快地執行計算,而且結果更快地發送回客戶端。索引

除處理器速度外,處理器的總線速度和高速緩存大小也是須要考慮的重要因素。事務

2. 建立索引

 一般用的索引:主鍵(Primary keys),惟一索引(Unique Index),普通索引(Plain Index),全文索引(Full-Text Index)內存

2.1 主鍵(Primary keys)

主鍵是惟一的,永遠不能爲空,不然沒法建立索引。它始終只能識別一條記錄,而且必須表示每條記錄。每一個表只能有一個主鍵。get

XtraDB / InnoDB表中,全部索引都包含主鍵做爲後綴。所以,當使用該存儲引擎時,保持主鍵儘量小是特別重要的。若是主鍵不存在且沒有UNIQUE索引,則InnoDB會建立一個6字節的聚簇索引,該索引對用戶不可見。

2.2 惟一索引(Unique Index)

惟一索引必須是惟一的,但它能夠爲null,能夠單個列和多個列組合。

2.3 普通索引(Plain Index)

不須要惟一,能夠單個列和多個列組合。

3.合理利用索引以及優化Sql語句

<,<=,> =,>,BETWEEN,LIKE 'xxx%' 都是能應用索引的;

可是例如:<>,!=,LIKE '%xxx'  等都是不會應用索引查詢,通常狀況單個表中的索引最好不要超過6個。

至於SQL優化這個範圍有點廣,後續再看看寫吧~~~

相關文章
相關標籤/搜索