MySQL效能優化

2021-06-28 12:05:45 字數 1307 閱讀 6491

mysql效能優化可從如下幾個方面著手

sql優化

sql** 

#path可修改為絕對或者相對路徑

log-slow-queries=slow-log-path

#l查詢時間超過2s記錄

long_query_time=2

#沒有使用索引的查詢記錄

log-queries-not

-using-indexes

sql** 

#檢視log_query_time變數的值

show variables like

"%long%"

;#如果long_query_time的值不是期望值,重新設定

setglobal

long_query_time=2;

#查詢 slow_query_log 和 slow_query_log_file的值

show variables like

"%slow%"

;#開啟慢查詢日誌 on

或者on

都可以,不區分大小寫

setglobal

slow_query_log=

'on'

;#慢查詢日誌檔案路徑可修改

setglobal

slow_query_log=

'/data/mysql/slow.log'

慢查詢日誌分析工具有官方的mysqldumpslow 和pt-query-digest,後者更加精確詳細

explain 分析sql的執行

掌握一些sql的優化方法

max, count,子查詢,group by,limit

索引優化

索引優化sql的方法

增加索引會影響寫入效率(insert,update,delete)刪除重複和冗餘的索引

使用工具pt-duplicate-key-checker分析使用pt-index-usage 工具配合慢查詢日誌來分析不再使用的索引(注意主從庫的時候無法使用此工具精確判斷)

資料庫(表)結構優化

表的正規化和反正規化

表的垂直拆分

把原來有很多列的表拆分成多個表,降低表的寬度拆分原則:不經常使用的字段放在乙個表,很大的字段放在乙個表,常用的字段放在乙個表

表的水平拆分

水平拆分解決單錶資料量過大的問題,水平拆分之後的每一張表結構相同常用拆分方法:取模,hash等

分表帶來的挑戰:跨分割槽表資料查詢;統計及後台操作。使用彙總表,前後臺業務分開

系統配置的優化

第三方工具優化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生成乙個執行計...