MySQL資料庫性能優化
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是多線程的資料庫,多處理器可以提高同時執行多個線程的能力。
※資料庫技術分享:淺談資料庫連接
※搜索:ElasticSearch OR MySQL?
TAG:千鋒JAVA開發學院 |