永发信息网

mysql事务执行中断事务会回滚吗

答案:2  悬赏:0  手机版
解决时间 2021-02-21 05:18
mysql事务执行中断事务会回滚吗
最佳答案
1、为什么auto_increament没有回滚?
因为innodb的auto_increament的计数器记录的当前值是保存在存内 存中的,并不是存在于磁盘上,当mysql server处于运行的时候,这个计数值只会随着insert改增长,不会随着delete而减少。而当mysql server启动时,当我们需要去查询auto_increment计数值时,mysql便会自动执行:SELECT MAX(id) FROM 表名 FOR UPDATE;语句来获得当前auto_increment列的最大值,然后将这个值放到auto_increment计数器中。所以就算 Rollback MySQL的auto_increament计数器也不会作负运算。
2、MySQL的事务对表操作的时候是否是物理操作?
MySQL的事务是有redo和undo的,redo操作的所有信息都是记录到 redo_log中,也就是说当一个事务做commit操作时,需要先把这个事务的操作写到redo_log中,然后再把这些操作flush到磁盘上,当 出现故障时,只需要读取redo_log,然后再重新flush到磁盘就行了。
而对于undo就比较麻烦,MySQL在处理事务时,会在数据共享 表空间里申请一个段叫做segment段,用保存undo信息,当在处理rollback,不是完完全全的物理undo,而是逻辑undo,就是说会对之 前的操作进行反操作,但是这些共享表空间是不进行回收的。这些表空间的回收需要由mysql的master thread进程来进行回收。
全部回答
因为innodb的auto_increament的计数器记录的当前值是保存在存内 存中的,并不是存在于磁盘上,当mysql server处于运行的时候,这个计数值只会随着insert改增长
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
国外哪个国家用华为手机的最多,欧美的,
公惠驾校(报名处)我想知道这个在什么地方
急!!沈阳哪有卖拉杆箱的,价位多少
老洞岩我想知道这个在什么地方
想到会计师事务所实习工作 需要会计从业资格
在反应HO+Cr(SO)+KOH→KSO+KCrO+HO中,作为还
牛肉干炒什么好吃
我是学电子商务的,请问买笔记本有没有必要配
天津天狮2800的模式是传销么?
西萨文化宫店在哪里啊,我有事要去这个地方
用太阳能发电系统能满足家居日常使用吗?
用NA表示阿伏加德罗常数,下列说法正确的是(
我读完大学大一上学期就不想读了,助学贷款和
石油公司家属院地址在哪,我要去那里办事
有风湿病的人不能吃什么水果
推荐资讯
路由器映射端口80.3306.
以下哪种情志伤脾A.怒B.忧C.悲D.思E.恐ABCDE
马戏团里的动物成功表演后,驯兽员总要喂给它
王者荣耀里第一条主宰刷新是开局多少时间
时尚e都在什么地方啊,我要过去处理事情
澳洲奶粉排行榜10强哪个好,贝拉米、a2、爱他
企业法人直系亲属可以做该企业财务人员吗
请问,『手机』在手机中将内存卡格式化对手机
5万块存余额宝利息多少
金通玻璃工艺地址在什么地方,想过去办事
这两个植物是什么,快死了,怎么救活呀,叶子
双子座的中国明星
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?