暂无图片
oceanbase中 create table xxx as select 的速度比insert into xxx select 的速度慢,奇怪的问题。
我来答
分享
lscomeon
2023-07-28
oceanbase中 create table xxx as select 的速度比insert into xxx select 的速度慢,奇怪的问题。

oceanbase 3.2.3版本 oracle租户模式

create table 的后台执行语句也是insert into

竟然比直接insert into的速度要慢,奇怪的问题。

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
cdwas

在OceanBase中,通常情况下,使用INSERT INTO SELECT语句要比使用CREATE TABLE AS SELECT语句的速度更快。这是因为CREATE TABLE AS SELECT语句需要执行以下步骤:

  1. 创建目标表的结构:首先,需要创建一个与源表结构相同的目标表。

  2. 插入数据:然后,将SELECT语句返回的结果集插入到目标表中。

而INSERT INTO SELECT语句只需要执行插入数据的步骤,无需创建新表的结构。因此,在处理大量数据时,INSERT INTO SELECT通常比CREATE TABLE AS SELECT更高效。

然而,性能差异可能受到多个因素的影响,包括表的大小、索引、约束、并发访问等。在特定情况下,CREATE TABLE AS SELECT也可能比INSERT INTO SELECT更快,例如在表结构复杂或包含触发器、约束等情况下。

如果在OceanBase中发现CREATE TABLE AS SELECT语句速度慢于INSERT INTO SELECT语句,建议进行性能分析和优化,包括查看执行计划、索引是否适当、统计信息的更新等,以确定具体原因并进行调整。

暂无图片 评论
暂无图片 有用 0
lscomeon
题主
2023-07-28
这个是GPT吗
cdwas
答主
2023-07-28
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏