• mysql行锁测试


    特别注意:行锁,表锁区别:其实就是看where后面的条件是否有有索引,有索引的时候就是行锁,没有索引的时候就是表锁,主键本身就是索引。
    也就是没有索引的话,虽然修改的是一行,但是还是是锁表,但是where条件后面是主键是行锁

    1.查看mysql自动提交是否开启
    show variables like '%commit%'

    2.当前 session1关闭mysql自动提交
    set autocommit=off;

    3.新建test表,session1更新表数据
    update test set data='test@test.com' where id=1;

    4.新开一个session2窗口更新同样行数据,注意行锁有等待超时限制,一定时间会释放
    set autocommit=off;
    update test set data='aa@aa.com' where id=2;
    commit;
    发现id=2可以修改,证明session1触发的是行锁,这个时候去更新同样的行
    update test set data='aa@aa.com' where id=1;

    5.查看系统是否有锁等待
    show status like '%lock%';

    Innodb_row_lock_current_waits这个参数的值

    6.查看show open tables ,可以看出
    show open tables where In_use > 0;

  • 相关阅读:
    Android流畅度测试
    linux常用操作指令
    SQL语句
    客户端专项测试谈
    我的面经(ing)
    整理面试题
    百度质量部测试开发面试题
    UIResponder响应链
    NSURLSession进行网络请求
    命令行工具打包
  • 原文地址:https://www.cnblogs.com/liqing1009/p/16258661.html
Copyright © 2020-2023  润新知