程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 性能優化——mysql數據庫

性能優化——mysql數據庫

編輯:MySQL綜合教程

性能優化——mysql數據庫


一 mysql常用命令

1. 打開日志

1) show global variables like "%genera%";

2)set global general_log=on;

3)set global general_log=off;

2. mysql如果開了set autocommit=0,那麼所有的語句一定是在一個事務裡

3. show engine innodb status

1) http://imysql.cn/2008_05_22_walk_through_show_innodb_status

二 典型問題分析

1. 數據庫等待鎖超時 Lock wait timeout exceeded; try restarting transaction

1). 調整語句執行順序,減少鎖等待時間:涉及到的數據庫操作比較多,事務比較大,把這些鎖超時的表(多個事務並發可能取同一行的表,就會存在鎖等待的情況)放在事務的最後面,執行完就釋放鎖了,減少其他事務的鎖等待時間
2).切分事務:
3).語句合並,減少數據庫網絡交互:多條語句,並在一起,使用multiQuery,一次查詢更新

2. DeadLock問題

3. 查看事務一直沒提交的問題

mysql> show engine innodb status \G

查詢active 的事務id

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved