OB Server的SQL引擎和存储引擎、基本操作:事务介绍、提交事务、回滚事务、查看SQL的执行计划-EXPLAIN命令

1,250 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情

@[toc]

第四章:OB Server的SQL引擎和存储引擎

4.1 SQL引擎

4.1.9 基本操作:事务介绍

• 数据库事务(DatabaseTransaction)是指作为单个逻辑工作单元执行的一系列操作。事务处理可以用来维护数据库的完整性,保证成批的SQL操作全部执行或全部不执行 • 通过BEGIN TRANSACTION,或BEGIN和BEGIN WORK(被作为STARTTRANSACTION的别名受到支持)语句显示开始,以COMMIT(提交)或ROLLBACK(回滚)语句显示结束 事务语法如下:

START TRANSACTION | [BEGIN
[WORK]]
COMMIT [WORK] ;
ROLLBACK [WORK];

4.1.10 基本操作:提交事务

在提交事务(COMMIT)之前: • 修改只对当前用户可见,对其他用户来说是不可见的 • 修改不是最终结果,可以通过ROLLBACK语句撤销修改 在提交事务(COMMIT)之后: • 修改对其他用户都是可见的 • 修改是最终结果,不能通过ROLLBACK语句回滚修改 举例: 在这里插入图片描述

4.1.11 基本操作:回滚事务

回滚事务:回滚(ROLLBACK)事务操作,表示事务已经结束,回滚所有事务操作,并释放事务锁。 举例: 在这里插入图片描述

4.1.12 OceanBase官网查询详细的开发者指南和SQL参考

在这里插入图片描述

OceanBase官网包含MySQL模式和Oracle模式的开发者文档和SQL参考文档 开发者指南(MySQL模式) www.oceanbase.com/docs/oceanb… SQL参考(MySQL模式) www.oceanbase.com/docs/oceanb… 开发者指南(Oracle模式) www.oceanbase.com/docs/oceanb… SQL参考(Oracle模式) www.oceanbase.com/docs/oceanb…

4.1.13 查看SQL的执行计划-EXPLAIN命令

• 语法:explain [extended] \G • 使用非常方便,无需创建单独系统表,可直接获取语句的执行计划 • extended选项会产生更多详细内容,排查执行计划问题时建议指定 • 命令的输出格式和Oracle数据库的EXPLAIN工具比较接近,可读性好 • 只是获取执行计划,并不真正执行

EXPLAIN 使用案例:单分区表 在这里插入图片描述

EXPLAIN 使用案例:多分区并行查询 在这里插入图片描述

EXPLAIN 使用案例:分区表主键查询 在这里插入图片描述