MySql效能優化 基本效能優化方向

2021-08-08 08:07:48 字數 1051 閱讀 3425

// 影響資料庫效能幾個因素,

// 效能優化的兩個出發點

第一類:從現有的軟體和硬體配置中獲得最佳的資料庫效能。

第二類:通過改寫mysql原始碼,優化mysql本身,或者開發自己的儲存引擎和硬體裝置來擴充套件mysql

資料庫的最基本優化是其基本設計結構的優化。

1.每個事物是否有正確的設計資料結構(也就是表是否有正確設計的字段),更重要的是,每個字段是否有正確的資料型別(也就是字段型別)。

2.這個表是不是設計了正確而且高效的索引來提高效能

3.這個表是否根據業務使用了正確的儲存引擎,比如查詢型表使用 myisam 引擎,事務型表使用 innodb 儲存引擎(但是事情卻不總是這樣的,在操作較多的情況下,優化過的 innodb 的效能卻是比簡單的 myisam 高的)

4.某個字段是否合理使用壓縮,來降低對磁碟的i/o操作

5.配置合理的快取引數,讓他足以滿足對資料的訪問需求,但也不能太大,這樣會引起物理記憶體過載。主要配置的三個點是innodb 快取池,myisam 金鑰快取和 mysql 查詢快取。

隨著資料庫訪問次數的增加,所有的操作都將要受到硬體的限制,所以,你應該評估是否應該調整應用程式或者重新配置伺服器來避免這些硬體瓶頸,再或者公升級硬體。

硬體層面主要是如下幾個問題。

1.尋找資料,現在主流的磁碟理論上可以做到1秒內進行100次的尋找。但是如果需要更好的效能,你可以選擇使用更好的磁碟,或者把資料分發到多個磁碟上。

2.讀取資料,現在主流的磁碟在速度上大概可以達到10-20mb每秒的速度。但是當持續高負載訪問的時候,這個數值會降低(你的u盤寫著每秒20mb傳輸速度,可是實際上當你傳輸乙個10gb的檔案時,你的傳輸速度可能維持在4mb每秒,如果這10gb檔案是10萬個時,速度可能只有幾百kb每秒,深有體會,不多說)。

3.cpu效能,某些占用記憶體很多的表會出現這個瓶頸,一般的表不會。

4.記憶體頻寬,有些極端的情況是,cpu需要的資料超過了cpu的快取,比如普通的筆記本**快取一般4mb,好點的8mb。這個情況極少發生,但並不是沒有。

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...

mysql的效能優化 mysql效能優化

檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...

mysql 效能優化 命令 mysql效能優化

發現問題 當發現程式執行比較慢的時候,首先排除物力資源問題之後,就將注意力轉向mysq資料庫 1 首先確定執行慢的sql語句 mysql show full processlist 2 確認低效的查詢 多次執行第一步發現time耗費大的sql語句。檢視耗費的時間。3 分析效能 為sql生成乙個執行計...