下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          時間:2024-02-07 12:09作者:下載吧人氣:21

          MySQL slave 延遲 外鍵檢查和自增加鎖

          一、現象

          延遲大,大事物。

          • 表結構

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          • 無IO

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          • SQL THREAD占用CPU 100%

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          二、pscak 采樣

          采樣30個點

          • 外鍵檢查 占70%

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          • 自增鎖獲取 占30%

          SQL基礎:MySQL slave 延遲一列 外鍵檢查和自增加鎖

          三、自增鎖獲取邏輯

          邏輯如下其實也是innodb_autoinc_lock_mode參數的作用

          switch (lock_mode) {
          case AUTOINC_NO_LOCKING://innodb_autoinc_lock_mode=2
          /* Acquire only the AUTOINC mutex. */
          dict_table_autoinc_lock(m_prebuilt->table);
          break;

          case AUTOINC_NEW_STYLE_LOCKING: // innodb_autoinc_lock_mode=1 注意這里沒有break 巧妙的完成了邏輯
          /* For simple (single/multi) row INSERTs, we fallback to the
          old style only if another transaction has already acquired
          the AUTOINC lock on behalf of a LOAD FILE or INSERT … SELECT
          etc. type of statement. */
          if (thd_sql_command(m_user_thd) == SQLCOM_INSERT
          || thd_sql_command(m_user_thd) == SQLCOM_REPLACE) {

          dict_table_t* ib_table = m_prebuilt->table;

          /* Acquire the AUTOINC mutex. */
          dict_table_autoinc_lock(ib_table);

          /* We need to check that another transaction isn’t
          already holding the AUTOINC lock on the table. */
          if (ib_table->n_waiting_or_granted_auto_inc_locks) {
          /* Release the mutex to avoid deadlocks. */
          dict_table_autoinc_unlock(ib_table);
          } else {
          break;
          }
          }
          /* Fall through to old style locking. */

          case AUTOINC_OLD_STYLE_LOCKING://innodb_autoinc_lock_mode=0 觸發
          DBUG_EXECUTE_IF(“die_if_autoinc_old_lock_style_used”,
          ut_ad(0););
          error = row_lock_table_autoinc_for_mysql(m_prebuilt); //這個函數上表上的自增鎖

          if (error == DB_SUCCESS) {

          /* Acquire the AUTOINC mutex. */
          dict_table_autoinc_lock(m_prebuilt->table);
          }
          break;

          default:
          ut_error;
          }

          標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 久久一区二区三区免费播放| 国产爆乳无码一区二区麻豆 | 亚洲性日韩精品国产一区二区| 国产精品一区二区久久精品涩爱| 久久人妻内射无码一区三区| 亚洲一区二区三区无码中文字幕| 中文字幕国产一区| 一区二区三区四区视频在线| 一区二区三区无码视频免费福利| 国产手机精品一区二区| 无码AV一区二区三区无码| 国偷自产Av一区二区三区吞精| 一区二区三区四区免费视频| 一区二区三区在线观看视频| 成人影片一区免费观看| 精品一区二区久久久久久久网精| 精品国产一区二区三区AV性色| 国产91精品一区二区麻豆网站| 老鸭窝毛片一区二区三区| 精品一区二区三区在线成人| 亚洲第一区香蕉_国产a| 一区二区三区杨幂在线观看| 最新中文字幕一区二区乱码| 亚洲乱色熟女一区二区三区丝袜| 国内精品一区二区三区在线观看| 久久精品黄AA片一区二区三区 | 91在线一区二区三区| 日韩精品电影一区亚洲| 国产福利一区二区三区视频在线| 制服丝袜一区二区三区| 夜夜爽一区二区三区精品| 亚洲国产av一区二区三区| 国产精品综合AV一区二区国产馆| 精品三级AV无码一区| 成人区人妻精品一区二区不卡网站| 久久se精品一区二区影院| 国产一区二区精品| 无码乱人伦一区二区亚洲一| 亚洲AV无码一区二区二三区软件| 亚洲夜夜欢A∨一区二区三区| 日本一区二区免费看|