[英]Slow SQL inserts OracleDB/EDB
这是测试场景,我在 JavaScript 应用程序中有多个异步请求:
对每个新的 object 重复第 1 步和第 2 步,以实现长时间的测试场景。
经过调查,事实证明,一些选择和插入最多需要 11 秒,并且随着时间的推移会更多,当您为同一个表执行那么多插入时,这可能是预期的,并且每个插入都必须等待另一个插入完成的。
我的问题是,如何在不失去异步能力的情况下缓解这个问题,甚至摆脱它?
我知道多值插入比单个插入要快得多,但是您将如何在异步应用程序中做这样的事情?
你可能想重构你做事的方式。 而不是一次插入一个,将一组对象发布到您的后端,然后一次将它们全部插入。 就像是
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
您可能还想查看它可以更新的合并语句,并使用一条语句插入到单个表中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.