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...