zoukankan      html  css  js  c++  java
  • 性能优化——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


  • 相关阅读:
    Consul注销实例
    sql优化基础篇
    linux下执行java类(运行java定时器)
    ExecutorService 的理解与使用
    精度计算的方法
    内部类详解
    接口的作用
    面向对象之继承和组合浅谈
    构造器前篇
    教师编制考试数据分析
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6928420.html
Copyright © 2011-2022 走看看