首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓慢SQL插入OracleDB/EDB

缓慢SQL插入OracleDB/EDB
EN

Stack Overflow用户
提问于 2022-08-10 23:55:32
回答 1查看 30关注 0票数 -1

下面是测试场景,在一个JavaScript应用程序中有多个异步请求,这些请求:

database.

  • queries
  1. 创建一个对象,并将其保存在对象的

中,并对其进行更改,并将其保存到数据库中(执行此步骤2或3次以向对象添加新项)

对于每个新对象,对于一个长的测试场景,步骤1和步骤2都是重复的。

经过调查,发现一些选择和插入占用了11秒,而且随着时间的推移,这可能是预期的,当您对同一个表执行许多插入时,每个插入都必须等待另一个插入完成。

我的问题是,如何缓解这个问题,甚至在不失去异步能力的情况下解决这个问题?

我知道多值插入比单个插入要快得多,但是在异步应用程序中如何执行这种操作呢?

EN

回答 1

Stack Overflow用户

发布于 2022-08-11 01:18:49

您可能想要重构您正在做的事情。不要一次插入一个对象,而是将一个对象数组发布到后端,然后一次性插入它们。就像这样

https://livesql.oracle.com/apex/livesql/file/content_BM1LJQ87M5CNIOKPOWPV6ZGR3.html

代码语言:javascript
运行
复制
INSERT INTO people (person_id, given_name, family_name, title) 
  WITH names AS ( 
    SELECT 4, 'Ruth',     'Fox',      'Mrs'    FROM dual UNION ALL 
    SELECT 5, 'Isabelle', 'Squirrel', 'Miss'   FROM dual UNION ALL 
    SELECT 6, 'Justin',   'Frog',     'Master' FROM dual UNION ALL 
    SELECT 7, 'Lisa',     'Owl',      'Dr'     FROM dual 
  ) 
  SELECT * FROM names

您还可能希望查看它可以更新的合并语句,并使用一条语句插入到单个表中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73313901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档