MySql效能測試

2021-07-25 04:02:47 字數 1524 閱讀 4138

mysql版本

mysql引擎

表結構

資料量(3000萬條左右)

1、使用primary key進行查詢

2、使用索引進行查詢(注意資料型別,如果查詢條件為account_no=26850則不會走索引查詢)

在1、2中如果有order by欄位,其生效於where刪選資料之後,所以如果where篩選後的資料如果不是很大,則order by後面跟有索引欄位和無索引欄位無明顯差別

3、不使用任何索引進行查詢

4、查詢總數

當資料量比較大時,可用explain來獲得乙個大致資料(查詢條件中不能有無索引字段,否則會掃瞄全表)

5、分頁查詢

當offset較大時,查詢速度會明顯變慢

總結:

1、在建表時,不能有允許為null的字段,可以給每個欄位加預設值

2、索引在建表時最好設計好,資料多了再加會比較耗時

3、單錶索引最好不要超過5個,復合索引字段最好不要超過5個(過多的索引會帶來額外的花銷,導致插入和更新的效率變低)

4、在進行大資料表的查詢時,where和order by等限制條件應加在索引字段

5、where條件中不要出現!=、not in、is null、is not null等運算條件,會導致查詢丟失索引

6、在進行表連線操作時,需要注意大資料表的執行順序,可通過explain來進行sql語句的調優

7、對於like模糊查詢,可以使用全文索引來提公升查詢效率

在單錶優化的基礎上,可以通過分庫和分表來進行優化,對於前端個性化的查詢,可結合搜尋引擎solr/el等

mysql效能測試

伺服器 cpu 2ghz,記憶體 4g,物理機 系統 centos 5 32位 網路 100mbps 區域網 客戶端 cpu 2ghz,記憶體 4g 系統 centos 5 32位 資料量 1000萬條記錄 mysql版本 5.1.51 log 測試方法 把mysql掛到dns軟體後面,用bind的...

mysql效能測試

伺服器 cpu 2ghz,記憶體 4g,物理機 系統 centos 5 32位 網路 100mbps 區域網 客戶端 cpu 2ghz,記憶體 4g 系統 centos 5 32位 資料量 1000萬條記錄 mysql版本 5.1.51 log 測試方法 把mysql掛到dns軟體後面,用bind的...

mysql效能測試

mysqlslap mysql自帶的工具使用非常方面 使用語法如下 mysqlslap options 常用引數 options 詳細說明 auto generate sql,a 自動生成測試表和資料,表示用mysqlslap工具自己生成的sql指令碼來測試併發壓力。auto generate sq...