暂无图片
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
打赏 0
lscomeon
题主
2023-07-28
这个是GPT吗
cdwas
答主
2023-07-28
回答交流
Markdown


请输入正文
提交
相关推荐
在虚拟机上安装ocenbase数据库时,报错ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.58.128' (111)
回答 1
看一下配置文件my.cnf中bindaddress的配置
临时表空间文件过大是否可以直接删除
回答 1
不能,临时表空间用于排序、hash计算内存不足时转出,数据库每次启动时根据xugu.ini配置大小重置。
OceanBase下某租户下的root账户的密码忘记了,除了通过ocp修改之外,在黑屏下怎么重置或修改?
回答 1
点击参考这篇文章:https://www.modb.pro/db/336262
社区版4.2.0的压缩功能如何生效
回答 1
mysql的语法中编码和压缩是可以分开配置的,比如:createtablexxxrowformatdynamiccompression'zstd1.3.8';其中compression可以为表配置通用
obkv场景:数据流中并未有I/U的标识 是分段过来的 是否可以只使用insert实现最终大宽表的数据模型
回答 1
大宽表模型的话可以直接使用我们的hbase客户端实现如果是table模型,不确定是insert还是update,可以使用table客户端的insertOrUpdate接口
内存
回答 3
谢谢。你说的应该是纯开发方面经验,比较基础,OB开发和测试应该知道这些。我说的多是运维层面判断内存模块使用是否合理。感谢对OB的关注,可以加OB官方公众号进入OB微信群跟对OB感兴趣的网友(群里也有O
OceanBase 数据库的备份有什么办法验证数据正确性?
回答 1
OceanBase提供了一套完整的备份和还原机制,以保证备份后数据库中的每条数据都正确无误。还可以在单独的OceanBase实例上还原数据,而不需要购买单机实例的license,但是必须满足特定的使用
OCP4.0.3安装,这个是因为java版本的问题?
回答 1
是的,换下1.8版本
关于源码中宏定义smartvar的问题
回答 1
SMARTVAR主要是为了减少栈空间的静态占用,节省内存资源。SMARTVAR常态也多在栈上分配,只有在栈可用空间不足时才会从堆上分配,而128K的栈变量在oceanbase源码里是很少的,对性能不会
什么是存储过程?用什么来调用?
回答 3
已采纳
存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中的服务器端,用户可以通过指定存储过程的名字并给定参数(需要时)来调用并执行它。存储过程思想上很简单,就是数据库SQL语言层面的代码
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~