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

          軟件下載吧

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

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

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

          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

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 在线视频一区二区| 国产精品污WWW一区二区三区| 亚洲高清成人一区二区三区| 亚洲AV色香蕉一区二区| 国产精品主播一区二区| 日本精品一区二区三区在线观看| 日本道免费精品一区二区| 国产一区二区三区免费| 人妻无码一区二区三区免费| 天堂va在线高清一区 | 精品视频一区二区三区四区五区| av无码人妻一区二区三区牛牛| 午夜天堂一区人妻| 一区二区三区视频免费观看| 日本不卡一区二区三区视频| 风间由美在线亚洲一区| 精品乱码一区内射人妻无码| 日韩亚洲一区二区三区| 国产伦精品一区二区三区在线观看 | 久久国产一区二区三区| 无码精品人妻一区二区三区AV| 亚洲国产综合无码一区| 国产产一区二区三区久久毛片国语 | 精品亚洲av无码一区二区柚蜜| 亚洲视频在线一区二区| 亚洲日韩AV一区二区三区中文 | 精品无码综合一区二区三区| 日韩视频在线观看一区二区| 91一区二区三区四区五区| 国产成人无码AV一区二区| 日韩精品电影一区| 国产日韩精品一区二区在线观看 | 亚洲AV无码一区二区三区DV| 一区二区三区免费看| 激情综合丝袜美女一区二区| 成人区人妻精品一区二区三区| 在线观看一区二区三区av| 一区二区视频在线观看| 亚洲国产日韩在线一区| 在线中文字幕一区| 国内精自品线一区91|