zoukankan      html  css  js  c++  java
  • mysql: SELECT ... FOR UPDATE 对SELECT语句的阻塞实验

    开两个连接A, B, 分别执行以下三个sql

    start transaction; -- 1
    SELECT * FROM phpbb3.phpbb_ranks where rank_id=1 for update; -- 2
    commit; -- 3

    start transaction; -- 1
    SELECT * FROM phpbb3.phpbb_ranks where rank_id=1; -- 2
    SELECT * FROM phpbb3.phpbb_ranks where rank_id=1 for update; -- 3
    commit; -- 4

    在A执行完1和2后,

    B执行1, 正常
    B执行2, 立即返回
    B执行3, 这时候被阻塞了

    A执行3后, B的3立即返回

    可以得到的结论: 如果使用了SELECT ... FOR UPDATE, 对其他事务中的SELECT无影响, 但是会阻塞其他事务中的SELECT ... FOR UPDATE

  • 相关阅读:
    决策树
    交叉熵与softmax
    集成学习
    SVM算法
    蒙特卡罗方法
    K近邻--KNN
    K-Means聚类
    DBSCAN密度聚类
    Bagging、随机森林
    支持向量机SVM
  • 原文地址:https://www.cnblogs.com/milton/p/9213030.html
Copyright © 2011-2022 走看看