MySQL資料庫調優

2021-10-01 07:03:54 字數 1890 閱讀 7701

儲存引擎優化

1、讀操作多:myisam

2、寫操作多:innodb

innodb和myisam是許多人在使用mysql時最常用的兩個表型別,這兩個表型別各有優劣,視具體應用而定。

基本的差別為:

myisam型別不支援事務處理等高階處理,而innodb型別支援。

myisam型別的表強調的是效能,其執行數度比innodb型別更快,

但是不提供事務支援,而innodb提供事務支援以及外來鍵等高階資料庫功能。

索引優化

在 select、where、order by 等常涉及到的字段建立索引
一定要盡可能避免全表掃瞄

1、單條查詢最後新增 limit 1,停止全表掃瞄

2、where子句中不使用 !=或<> 操作符 ,否則將放棄索引使用全表掃瞄

3、要盡量使用not null ,盡量避免 null 值判斷,否則放棄索引全表掃瞄

優化前: select number from t1 where number is null;

優化後: select number from t1 where number=0;

# 在number列上設定預設值0,確保number列無null值

4、盡量避免 or 連線條件,否則放棄索引全表掃瞄

優化前: select id from t1 where id=10 or id=20;

優化後: select id from t1 where id=10 union all

select id from t1 where id=20;

5、模糊查詢盡量避免使用前置 %模糊查詢 ,否則會導致索引失效而進行全表掃瞄

select name from t1 where name like "c%";

6、盡量避免使用 in 和 not in,否則全表掃瞄

優化前: select id from t1 where id in(1,2,3,4);

優化後: select id from t1 where id between 1 and 4;

7、盡量避免使用 select * ...;用具體字段代替 * ,不要返回用不到的任何字段

8、索引並不是越多越好,索引固然可以提高相應的 select 的效率,但同時也降低了 insert 及 update 的效率,

因為 insert 或 update 時有可能會重建索引,所以怎樣建索引需要慎重考慮,視具體情況而定。

乙個表的索引數最好不要超過6個,若太多則應考慮一些不常使用到的列上建的索引是否有必要。

9、盡可能的使用 varchar 代替 char ,因為首先變長字段儲存空間小,可以節省儲存空間,

其次對於查詢來說,在乙個相對較小的字段內搜尋效率顯然要高些。

主從複製(也稱 ab 複製)允許將來自乙個mysql資料庫伺服器(主伺服器)的資料複製到乙個或多個mysql資料庫伺服器(從伺服器),複製是非同步的 從站不需要永久連線以接收來自主站的更新。

1

.橫向擴充套件解決方案 - 在多個從站之間分配負載以提高效能。在此環境中,所有寫入和更新都必須在主伺服器上進行。

但是,讀取可以在乙個或多個從裝置上進行。該模型可以提高寫入效能(因為主裝置專用於更新),同時顯著提高了越來越多的從裝置的讀取速度。

2.資料安全性 - 因為資料被複製到從站,並且從站可以暫停複製過程,所以可以在從站上執行備份服務而不會破壞相應的主資料。

3.分析 - 可以在主伺服器上建立實時資料,而資訊分析可以在從伺服器上進行,而不會影響主伺服器的效能。

4.遠端資料分發 - 您可以使用複製為遠端站點建立資料的本地副本,而無需永久訪問主伺服器。

mysql資料庫調優

mysql資料庫調優知識分享 在進行資料庫調優時,應從以下三方面進行考慮 一 如何提高mysql快取命中率 一是在配置時,客戶端與伺服器端要使用相同的字符集而不是相容 二是在客戶端,要固化查詢的語句,從而可提高應用系統的查詢效率 三是提高記憶體中快取的配置,不過使用者的併發數越多,這個設定的效果會越...

mysql 資料庫調優

1.在sql語句查詢時,盡量不使用select 進去全表查詢,首先要考慮在where及order by 語句上的列上增加索引,一定經常需要進行檢索的字段上建立索引,但是需要注意的是乙個表的索引數最好不要超過6個,要考慮在一些不常用的字段上加索引是否有必要,索引太多反而會失去加索引的效果 同時也會降低...

MySQL資料庫調優

1 全部採用64位版本 64mysql 2 選擇穩定核心 權衡穩定,效能,功能 3 調整系統預設配置引數 例如tcp ip堆疊連線數 檔案控制代碼數 程序個數 vim etc sysctl.conf net.ipv4.ip local port range 32768 61000 vim etc s...