判断题
OceanBase MySQL 模式下,可以通过 CREATE GLOBAL TEMPORARY TABLE 创建全局临时表,全局临时表的列定义可以对所有 Session 可见。但全局临时表中的数据是 Session 私有的,当前 Session 只能看到和修改自己的数据。
A
正确
B
错误
正确答案是:
B
这道题是不是超纲了,并没有讲全局临时表
判断题
OceanBase MySQL 模式下,可以通过 CREATE GLOBAL TEMPORARY TABLE 创建全局临时表,全局临时表的列定义可以对所有 Session 可见。但全局临时表中的数据是 Session 私有的,当前 Session 只能看到和修改自己的数据。
A
正确
B
错误
正确答案是:
B
这道题是不是超纲了,并没有讲全局临时表
新版本中的?
MySQL模式应该是没有global临时表
好像是这么回事
不清楚,第三期DBA实战营–体验 Oceanbase 数据库临时表的常见用法里的题测
在 MySQL 官方版本(MySQL Community / Enterprise) 里
没有“全局临时表” 这个概念,只有两种 会话级 临时表:
sql
复制
CREATE TEMPORARY TABLE tmp1 (id int);
仅对当前连接可见,连接断开即自动销毁。
不同连接可以各自建同名 tmp1,互不干扰。
元数据仅存在于当前会话内存,其他会话查不到。
Oracle 里常见的 GLOBAL TEMPORARY TABLE(定义全局、数据会话私有)在 MySQL 中没有对应实现。
因此,如果你想让“所有会话共享表结构,但数据仍会话级隔离”,MySQL 只能自己模拟:
把表建成普通表(非 TEMPORARY),再加一列 session_id VARCHAR(128) DEFAULT CONNECTION_ID(),然后在业务层 WHERE session_id = CONNECTION_ID() 来隔离数据;
定期清理过期会话的数据。
小结
MySQL 只有 会话级临时表,不存在 全局临时表。
是没有,刚问KIMI了
666
![]()
