国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL-長事務解說

2024-07-24 12:36:23
字體:
來源:轉載
供稿:網友
  『入門MySQL』系列文章已經完結,今后我的文章還是會以MySQL為主,主要記錄下近期工作及學習遇到的場景或者自己的感悟想法,可能后續的文章不是那么連貫,但還是希望大家多多支持。言歸正傳,本篇文章主要介紹MySQL長事務相關內容,比如說我們開啟的一個事務,一直沒提交或回滾會怎樣呢,出現事務等待情況應該如何處理,本篇文章將給你答案。
 
  注意:本篇文章并不聚焦于談論事務隔離級別以及相關特性。而是介紹長事務相關危害以及監控處理方法。本文是基于MySQL5.7.23版本,不可重復讀(RR)隔離級別所做實驗。
 
  1.什么是長事務
  首先我們先要知道什么是長事務,顧名思義就是運行時間比較長,長時間未提交的事務,也可以稱之為大事務。這類事務往往會造成大量的阻塞和鎖超時,容易造成主從延遲,要盡量避免使用長事務。
 
  下面我將演示下如何開啟事務及模擬長事務:
 
  #假設我們有一張stu_tb表,結構及數據如下
  mysql> show create table stu_tb/G
  *************************** 1. row ***************************
         Table: stu_tb
  Create Table: CREATE TABLE `stu_tb` (
    `increment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主鍵',
    `stu_id` int(11) NOT NULL COMMENT '學號',
    `stu_name` varchar(20) DEFAULT NULL COMMENT '學生姓名',
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間',
    PRIMARY KEY (`increment_id`),
    UNIQUE KEY `uk_stu_id` (`stu_id`) USING BTREE
  ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='測試學生表'
  1 row in set (0.01 sec)
 
  在結果中idle_time是計算產生的,也是事務的持續時間。但事務的trx_query是NUL,這并不是說事務什么也沒執行,一個事務可能包含多個SQL,如果SQL執行完畢就不再顯示了。當前事務正在執行,innodb也不知道這個事務后續還有沒有sql,啥時候會commit。 因此trx_query不能提供有意義的信息。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 教育| 天津市| 噶尔县| 通城县| 大兴区| 越西县| 琼中| 成安县| 二手房| 利津县| 沁阳市| 登封市| 铜山县| 彰化县| 那曲县| 卢氏县| 东乡族自治县| 宜兰市| 合肥市| 彭水| 法库县| 红河县| 宜兰县| 台北市| 班戈县| 漳浦县| 嫩江县| 微山县| 日喀则市| 尖扎县| 仁怀市| 海丰县| 穆棱市| 饶阳县| 镇宁| 万全县| 登封市| 嘉祥县| 四子王旗| 湘阴县| 兴城市|