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