首页 文章 精选 留言 我的

精选列表

搜索[计费相关],共10000篇文章
优秀的个人博客,低调大师

Linux命令:MySQL系列之八--MySQL事务相关内容

MySQL,ODBC 数据库事务 多事务同时执行:彼此之间互不影响的方式进行并行;事务之间交互,通过数据集。 START TRANSACTION; 启动事务命令 数据库只有启动了事务才允许回滚撤销等操作。 且数据的engine引擎必须是innodb,才支持事务 ROLLBACK回滚事务,mysql只要没有提交开启了事务都可以进行回滚操作。 COMMIT:事务提交,事务提交后无法进行回滚操作。 如果没有明确启动事务: autocommit能实现自动提交,每一个操作都直接提交; 所以建议:明确使用事务,否则所有操作都被当成一个事务来处理,并关闭自动提交。 否则会浪费mysql很多IO操作,每写一条语句都执行提交至持久性存储,很浪费资源 事务的特性: Atomicity:原子性,事务所引起的数据库操作,要不都完成,要么都不执行; Consistency: 一致性, Isolation:隔离性 事务调度:事务之间影响最小 MVCC:多版本并发控制 Durability:持久性 ,一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性; 1、事务提交之前就已经写出数据至持久性存储; 2、结合事务日志完成; 事务日志:顺序IO 数据文件:随机IO 事务的状态: 活动的:active 部分提交的:最后一条语句执行后 失败的: 终止的: 提交的: 及状态间的转换过程: 事务并发执行的优势:1、提高吞吐量和资源利用率 2、减少等待时间 事务调度:1、可恢复调度 2、无极联调度 实例: mysql> SELECT @@AUTOCOMMIT; #查询自动提交的状态1为开启,0为关闭; +--------------+ | @@AUTOCOMMIT | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec) mysql> SET AUTOCOMMIT=0; #设定自动提交关闭 Query OK, 0 rows affected (0.00 sec) mysql> SELECT @@AUTOCOMMIT; #查询自动提交的状态1为开启,0为关闭; +--------------+ | @@AUTOCOMMIT | +--------------+ | 0 | +--------------+ 1 row in set (0.00 sec) mysql> DELETE FROM student WHERE Name LIKE 'Li%'; #删除Name字段包含Li的行 Query OK, 1 row affected (0.03 sec) mysql> SELECT * FROM student; #Li哪行已经被删除 +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 0 | 3 | | 4 | Guo Jing | 0 | 4 | +-----+------------+-----+-----+ 3 rows in set (0.00 sec) mysql> ROLLBACK; #回滚事务,自动提交关闭后,默认就开启了事务,可以实现回滚等操作 Query OK, 0 rows affected (0.01 sec) mysql> SELECT * FROM student; #删除的哪行恢复了 +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 0 | 3 | | 4 | Guo Jing | 0 | 4 | +-----+------------+-----+-----+ 4 rows in set (0.00 sec) 保存点:恢复到所定义的那个保存点SAVEPOINT,保存点名称不能以数字开头。 保存点:SAVEPOINT savepoint_name; 保存以上操作为该保存点名称 回滚保存点:ROLLBACK TO savepoint_name; 回滚到该保存点之前的状态 Usage: mysql> START TRANSACTION; #启动事务 Query OK, 0 rows affected (0.00 sec) mysql> select * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 26 | 3 | | 4 | Guo Jing | 53 | 4 | +-----+------------+-----+-----+ 4 rows in set (0.00 sec) mysql>SAVEPOINT a; #该保存点student表数据都存在 Query OK, 0 rows affected (0.00 sec) mysql> select * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 26 | 3 | | 4 | Guo Jing | 53 | 4 | +-----+------------+-----+-----+ 4 rows in set (0.00 sec) mysql> DELETE FROM student WHERE SID=4; #删除student表的SID为4的行 Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 26 | 3 | +-----+------------+-----+-----+ 3 rows in set (0.00 sec) mysql> SAVEPOINT b; #该保存点student表数据的SID为4的行不存在了 Query OK, 0 rows affected (0.00 sec) mysql> DELETE FROM student WHERE SID=3; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | +-----+------------+-----+-----+ 2 rows in set (0.00 sec) mysql> SAVEPOINT c; #该保存点student表的SID为3和4的行都不存在 Query OK, 0 rows affected (0.00 sec) mysql> ROLLBACK TO b; #回滚至保存点b,即student表,SID为4的行不存在的行 Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 26 | 3 | +-----+------------+-----+-----+ 3 rows in set (0.00 sec) mysql> ROLLBACK TO a;#即所有数据都存在的那个点 Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM student; +-----+------------+-----+-----+ | SID | Name | Age | CID | +-----+------------+-----+-----+ | 1 | Li Lianjie | 0 | 1 | | 2 | Cheng Long | 0 | 2 | | 3 | Yang Guo | 26 | 3 | | 4 | Guo Jing | 53 | 4 | +-----+------------+-----+-----+ 4 rows in set (0.00 sec)

优秀的个人博客,低调大师

08|RCA:从相关性走向证据驱动的根因分析

TL;DR:证据驱动的 RCA 让 AI 诊断从"猜"走向"证",通过区分 fact hypothesis inference / recommendation 四层,构建可解释、可验证的证据链。输出采用 root_cause、confidence、evidence、alternatives 的结构化格式,并让结论与执行动作解耦,经 Review Gateway 策略校验后才可触发修复。评估用已知根因的回放数据集衡量根因准确率与证据有效性,而非看文字是否通顺。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册