MySQL資料庫效能最佳化

w39發表於2021-09-09

mysql查詢最佳化:
1.新增欄位索引,查詢時若使用到or關鍵字,則兩個欄位都需建立索引才能生效
2.sql語句包含子查詢,mysql會建立臨時表查詢結束後刪除,影響效率,所以應儘可能使用join替代子查詢
3.將欄位多的表分解成多表:將表中使用頻率較低的欄位單獨存入到其他的表中
4.新增中間表:經常聯合查詢的表,將需要透過聯合查詢的資料插入到中間表中,然後將原來的聯合查詢改為對中間表的查詢。
5.適當新增冗餘欄位

mysql插入最佳化:

1.禁用唯一性檢查: set unique_checks = 0; //0:禁用,1:啟用
2.禁用外來鍵檢查:set foreign_key_checks = 0;//0:禁用,1:啟用
3.禁用自動提交: set autocommit = 0 ; //0:禁用,1:啟用
注意:不同的資料庫引擎最佳化手段不一樣,在Mysql中常用的儲存引擎:MyISAM和InnoDB
MyISAM管理非事務表。它提供高速儲存和檢索,以及全文搜尋能力。如果應用中需要執行大量的SELECT查詢,那麼MyISAM是更好的選擇。
InnoDB用於事務處理應用程式,具有眾多特性,包括ACID事務支援。如果應用中需要執行大量的INSERT或UPDATE操作,則應該使用InnoDB,這樣可以提高多使用者併發操作的效能。

資料庫伺服器最佳化(硬體):
1、配置較大的記憶體。足夠大的記憶體,是提高MySQL資料庫效能的方法之一。記憶體的IO比硬碟快的多,可以增加系統的緩衝區容量,使資料在記憶體停留的時間更長,以減少磁碟的IO。
2、配置高速磁碟,比如SSD。
3、合理分配磁碟IO,把磁碟IO分散到多個裝置上,以減少資源的競爭,提高並行操作能力。
4、配置多核處理器,MySQL是多執行緒的資料庫,多處理器可以提高同時執行多個執行緒的能力。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2800114/,如需轉載,請註明出處,否則將追究法律責任。

相關文章