首页 > 代码库 > 性能优化——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
附录:
mysql锁分析: http://hedengcheng.com/?p=771
性能优化——mysql数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。