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

          軟件下載吧

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

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

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

          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无码一区| 韩国美女vip福利一区| 合区精品久久久中文字幕一区| 国产日本一区二区三区| 久久精品国产一区二区三区| 一区免费在线观看| 国产精品538一区二区在线| 学生妹亚洲一区二区| 亚洲日本一区二区三区| 久久久久人妻一区精品色| 久久精品国产一区二区三区肥胖| 国产精品女同一区二区久久| 无码AV一区二区三区无码| 国产成人无码aa精品一区| 四虎成人精品一区二区免费网站| 国产短视频精品一区二区三区| 国产AV午夜精品一区二区三区| 久久4k岛国高清一区二区| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 激情内射亚洲一区二区三区爱妻| 一区二区三区四区免费视频| 蜜桃视频一区二区三区在线观看| 亚洲av无码片区一区二区三区| 成人区人妻精品一区二区三区| 大香伊人久久精品一区二区| 天海翼一区二区三区高清视频| 国产在线精品一区在线观看| 国产精品 一区 在线| 任你躁国语自产一区在| 亚洲av日韩综合一区二区三区|