事务
已收录文章:78篇
-
什么是事务数据库的事务是一种机制、一个操作序列,包含了数据库操作命令。事务把所有的命令做为一个整体一起向系统提交或撤销操作请求,即这一组命令要么成功,要么失败。事务的4个448 收藏
-
摘要:事实上在数据库引擎的实现中并不能实现完全的事务隔离,比如串行化。本文分享自华为云社区《【数据库事务与锁机制】- 事务隔离的实现》,原文作者:技术火炬手 。事实上在数据库441 收藏
-
MySQL 存储过程遇到业务校验失败时,SIGNAL 可以主动抛出可识别错误,RESIGNAL 可以在处理器中保留或补充原始诊断信息。本文用订单额度校验示例说明错误传递、事务回滚和调用方验收的边界。438 收藏
-
隔离级别: 隔离性其实比想象的要复杂。 在SQL标准中定义了四种隔离级别, 每一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发425 收藏
-
一、问题起源在MySQL的官方文档中有明确的说明不支持嵌套事务: Transactions cannot be nested. This is a consequence of the implicit commit performed for any current transaction when you issue a START TRANSACTION statement or424 收藏
-
总结一下自己多年来对MySQL的相关知识,做个梳理。 本文用到的MySQL版本:5.7.22 为什么要锁 我们开的的各式各样系统中,系统运行需要CPU、内存、I/O、磁盘等等资源。但除了硬资源外,还有最422 收藏
-
InnoDB 默认使用 REPEATABLE READ,范围更新可能拿到间隙锁。本文用订单号范围写入场景对比 READ COMMITTED 的锁行为,说明它能减少什么等待、不能替代什么并发保护,以及上线前如何用 data_locks 和事务回归确认结果。421 收藏
-
MySQL 8.4 的 InnoDB 死锁发生后会自动选择一个事务回滚,但应用仍要识别错误并重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、开启 innodb_print_all_deadlocks、判断受害事务并验收安全重试。419 收藏
-
数据库定义了四种隔离级别: Read Uncommitted(未提交读) Read Committed(提交读) Repeatable Read(重复读) Serializable(串行化) 这四种隔离依次升高,隔离级别越低,系统开销越小,并发支持性更418 收藏
-
1. 高级用法 1.1. 错误处理 执行任何操作后,如果发生任何错误,GORM将其设置为*DB的Error字段 if err := db.Where("name = ?", "jinzhu").First(&user).Error; err != nil { // 错误处理... } // 如果有多个错误发生412 收藏
-
MySQL XA 事务进入 PREPARED 后,连接断开并不代表事务已经消失。本文从 XA RECOVER、事务分支和业务提交记录入手,说明如何区分可提交、可回滚和需要人工确认的状态,并给出恢复前后的验收边界。412 收藏
-
1. 事务的 ACID 特性详 ACID 是为保证事务(transaction)是正确可靠的,所必须具备的四个特性: 原子性(Atomicity):事务中的操作同时成功或者失败。一致性(Consistency):数据库事务不能破坏数据的完整408 收藏