>  기사  >  데이터 베이스  >  性能优化mysql数据库_MySQL

性能优化mysql数据库_MySQL

WBOY
WBOY원래의
2016-06-01 13:01:501231검색

一 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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.