麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 基礎知識 > 正文

關于innodb_rollback_on_timeout測驗

2024-09-12 20:29:58
字體:
來源:轉載
供稿:網友
  innodb_rollback_on_timeout
  innodb_lock_wait_timeout
  最開始看到innodb_rollback_on_timeout 時,沒有好好理解transaction timeout的意思.以為只要是連接超時就會觸發,今天研究了一下.只能說巨坑;
  以下測試.隔離級別皆為RR模式.測試過程.
  
  實驗一:
  innodb_rollback_on_timeout =on
  innodb_lock_wait_timeout=20    
  ---------------------------------------|----------------------------------------|------------------------------------------------
  session 1                             |            session 2                   |         session  3   
  ---------------------------------------|----------------------------------------|------------------------------------------------
   begin;                               |                                        |select * from information_schema.innodb_trx
                                         |                                        |      order by trx_started;   
  ---------------------------------------|----------------------------------------|------------------------------------------------
  insert into t8 values (20,'ddd');      |                                        |       1   
  ---------------------------------------|----------------------------------------|------------------------------------------------
                                         |            begin;                     |      2   
  ---------------------------------------|----------------------------------------|------------------------------------------------
                                         | update t8 set test1='yyy' where id =19;|           2   
  ---------------------------------------|----------------------------------------|------------------------------------------------
                                         |                                        |       2   
  update t8 set test1='xxx' where id =19;|                                        |
  ---------------------------------------|----------------------------------------|------------------------------------------------
                 堵塞                    |                                        |          2
  ---------------------------------------|----------------------------------------|------------------------------------------------
  20s后超時                              |                                        |       1   
  事務結束;                              |    commit;                             |     0
  ---------------------------------------|----------------------------------------|------------------------------------------------     
  
 
  select * from t8;    
  20這個id沒有;19被改為yyy;    
    
    
  實驗二:
  innodb_rollback_on_timeout =off
  innodb_lock_wait_timeout=20   
  ---------------------------------------|---------------------------------------|-----------------------------------------------
                   session 1             |                   session 2          |          session  3   
  ---------------------------------------|---------------------------------------|-----------------------------------------------
   begin;                               |                                       | select * from information_schema.innodb_trx
                                         |                                       |        order by trx_started;   
  ---------------------------------------|---------------------------------------|-----------------------------------------------
  insert into t8 values (20,'ddd');      |                                       |              1   
  ---------------------------------------|---------------------------------------|-----------------------------------------------
                                         |                   begin;              |             2   
                                         |update t8 set test1='yyy' where id =19;|
  ---------------------------------------|---------------------------------------|-----------------------------------------------
  update t8 set test1='xxx' where id =19;|                                       |               2
  ---------------------------------------|---------------------------------------|-----------------------------------------------
  堵塞                                   |                                       |               2     
  ---------------------------------------|---------------------------------------|-----------------------------------------------
  20s后超時                              |                                       |              2   
  事務未結束                           |                                       |
  ---------------------------------------|---------------------------------------|-----------------------------------------------
      commit;                            |                       commit;         |               0   
  ---------------------------------------|---------------------------------------|-----------------------------------------------
    
  select * from t8;    
  20這個id存在;19被改為yyy;  
  
  結果就是:如果innodb_rollback_on_timeout 為on,事務在innodb_lock_wait_timeout超時后,當前sql會報超時,并使整個事務都回滾,然后結束事務;
           如果innodb_rollback_on_timeout 為off(默認值),事務在innodb_lock_wait_timeout超時后,當前sql會超時,并終止,回滾當前sql,但整個事務不回滾,事務不結束,必須顯示的回滾或提交;
   一句話:innodb_rollback_on_timeout 沒什么卵用.純碎就是坑;

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级淫片免费视频黄 | 亚洲情视频 | 国产一区二区三区在线视频 | 国产成人精品一区在线播放 | 极品大长腿啪啪高潮露脸 | 欧日韩在线 | 91精品国产九九九久久久亚洲 | 成人不卡在线观看 | 精品国产一区二区三区久久久蜜 | 国产午夜亚洲精品 | 成年人激情在线 | 欧美大电影免费观看 | 蜜桃成品人免费视频 | 免费看操片 | 欧美一级全黄 | 久久久久二区 | 欧美14一15sex性hd | 亚洲草逼视频 | 亚洲精中文字幕二区三区 | 亚洲电影在线播放 | 5xsq在线视频 | 国产91免费看 | 久色婷婷| 精品99在线视频 | 中文亚洲视频 | 成人毛片网 | 成人午夜一区二区 | 在线观看免费视频麻豆 | 91色成人| 欧美顶级毛片在线播放小说 | 98国内自拍在线视频 | 国产精品久久久久影院老司 | 97干色| 国产自在自线午夜精品视频在 | 久久精品视频亚洲 | 免费中文视频 | 凹凸成人精品亚洲精品密奴 | 久久综合综合久久 | 亚洲国产高清视频 | 91成人免费 | 91av日韩 |