MySQL效能優化

2021-08-19 00:07:09 字數 1101 閱讀 9266

1.sql和索引優化

1.1sql

1.1.1優化sql語句的一般步驟:

show [session | global] status;
show status like

'com_%';

1.1.2兩個簡單實用的優化方法
analyze table tbl_name;

check table tbl_name;

optimize table tbl_name;
1.1.3常用sql的優化

1.2索引優化

1.2.1mysql 中索引的儲存型別目前有四種(b-tree、hash、空間索引r-tree、全文索引full-text),具體和表的儲存引擎相關;myisam 和 innodb 儲存引擎都支援 b-tree 和全文索引(full-text,innodb 5.6 +);myisam還支援空間索引(r-tree);memory/heap儲存引擎可以支援 hash和 b-tree 索引,不過只有memory/heap支援 hash索引。

1.2.2mysql如何使用索引

2.優化資料庫物件

2.1選擇合適的儲存引擎

2.2欄位選擇合適的資料型別

2.3三正規化和反三正規化

2.4對錶進行水平或者垂直拆分

3.針對儲存引擎的優化

4.優化mysql server

4.1mysql記憶體管理和優化

4.2innodb log機制及優化

4.3調整跟併發相關的mysql引數

5.磁碟i/o優化

5.1使用磁碟陣列(raid)

5.2使用linux虛擬檔案卷模擬raid

5.3符號連線(symbolic links)分布i/o

5.4禁止作業系統更新檔案的atime屬性

5.5用裸裝置(raw device)存放innodb的共享表空間

5.6調整i/o排程演算法

5.7raid卡電池的充放電引起的效能波動

5.8numa架構優化

6.應用優化

6.1使用連線池

6.2減少對mysql的訪問

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生成乙個執行計...