performance 相关问题

有关测量或改进代码和应用程​​序效率的问题。

比较两个查询的效率

我正在学习 SQL,在完成指导示例时,我喜欢尝试编写自己的查询来回答问题,然后再查看课程建议如何执行。在这种情况下,我使用了一些...

回答 1 投票 0

Java 中 (a*b)/c 的高效 63 位长计算

我想以最有效的方式在Java中计算(a*b)/c,其中: a、b 和 c 是无符号长值(保证适合 63 位,即符号位为零) 结果也有保证...

回答 1 投票 0

Loadrunner 分析显示零响应时间

获取 LR 分析报告后,它显示某些事务的响应时间为 0 秒(平均值、最小值、最大值、标准偏差、第 90 个百分点)。请注意,测试是针对 Web 应用程序和 Web H 执行的...

回答 1 投票 0

Python 中平方所需的时间

我想知道 x**2 还是 x*x 更快 def sqr(x): 对于范围 (20) 内的 i: x = x**2 返回x def sqr_(x): 对于范围 (20) 内的 i: x = x*x 返回x 当我计时时,...

回答 1 投票 0

平均响应时间是否应该包括失败的交易?

在 loadrunner 报告中,它排除了用于计算平均响应时间的失败事务,但在 JMeter 中,它还包括用于计算平均响应时间的失败事务。我有点自信...

回答 3 投票 0

Oracle 中缓慢且低效的更新语句

我在Oracle中有一条更新语句,旨在更新“test_delete_me”表中的数万条记录。然而,该语句极其缓慢且效率低下。 这……

回答 1 投票 0

Docker 运行容器速度慢

我多次运行以下命令并得到非常接近的结果。 ➜ docker run --rm -it alpine:3.7 true 时间 docker run --rm -it alpine:3.7 true 0.03s 用户 0.03s 系统 5% cpu 2.263 总计 d...

回答 1 投票 0

有没有办法加快winforms文本框中显示大量文本的速度?

有没有办法加快winforms文本框中显示大量文本的速度? 我的应用程序读取一个文件(最大可达 20MB),然后将其显示到文本框 (TextBoxX.Text = fileText;)。 ...

回答 9 投票 0

也许或者单子、短路和性能

C++ 中的函数式编程,第 214 页,参考与 Haskell 的 Either 相同的预期 monad,内容如下 [...] 一旦您绑定的任何函数返回...

回答 2 投票 0

postgresql查询需要3分钟才能执行,我怎样才能将时间减少到60秒以内

我需要帮助优化下面的 postgresql 查询。 目前获取数据需要超过 3 分钟,因为我的 API 超时,您能帮我在 59 秒内获取结果集吗? T...

回答 1 投票 0

加速Python循环

我创建了一个 for 循环,它从一列中获取一个值,并向前查看该值是否在后面的数据中被超过一两次。该代码可以工作,但由于它运行的数据集非常......

回答 1 投票 0

使用 Dapper ORM 优化 SQL Server 中大型表的查询性能

简介: 在我们的应用程序中,我们利用 Dapper ORM 与 SQL Server 数据库进行交互。我们的关键表之一,OperationSteps,随着时间的推移显着增长,导致

回答 1 投票 0

与 .NET Framework 4.7 相比,.NET 8 中对 WCF 服务的所有调用都非常慢

我正在尝试将类库从 .NET Framework 4.7 转换为 .NET 8,该类库连接到您通过 WCF 进行通信的仪器。对服务器的所有调用都慢得多(不仅仅是......

回答 1 投票 0

Typo3 前端性能问题 - 页面加载缓慢

多年来,我们使用 Typo3 构建的网站在过去一周一直表现缓慢。 当我们尝试访问我们的网站时,加载时间非常慢,有时需要......

回答 1 投票 0

使用 Docker 和 Flask 进行机器学习的性能问题

我有一些应用于json文件的python3代码,代码中有一些神经网络和随机森林。我将代码放入 Docker 容器中,但注意到这些 ML 任务在没有

回答 2 投票 0

查找列中*值*之间的相关性(编辑:共现或一致比例)

编辑:当我说相关性时,可能应该说共现或一致比例)。 考虑一个数据集,其中每行都是一篮子 3 个水果。 库(数据.表) 篮子 <- data.table(fruit...

回答 2 投票 0

按极端性能影响排序

我在 SQL Server 中有一个复杂的查询,需要 70 秒才能完成 3,000,000 条记录。 当我删除两个 ORDER BY 子句时,只需要 0.5 秒即可完成。 选择前 100 名 行_...

回答 1 投票 0

数组与切片:访问速度

这个问题是关于访问数组和切片元素的速度,而不是关于将它们作为参数传递给函数的效率。 我希望数组比 m 中的切片更快...

回答 3 投票 0

XML 表上 PLSQL 查询的性能调整

我需要对 Oracle 数据库上的表执行一些查询。该表包含 XML 值。下面是我的 xml 结构的示例: 382010 我需要对 Oracle 数据库上的表执行一些查询。该表包含 XML 值。下面是我的 xml 结构示例: <Parent> <ParentId>382010</ParentId> <LastUpd>2023-03-01T22:59:10.456241</LastUpd> <UserId>0</UserId> <attrn>xxx</attrn> <Child> <ChildId>1</ChildId> <Attribute1 ID="1873" D="1466 Description">1466</Attribute1> <Attribute2 ID="1234" D="QWERTY Description" E="503" ED="Error 503 Description">QWERTY</Attribute2> <Attribute3 ID="4921" D="Other Description">YourValue</Attribute3> </Child> <Child> <ChildId>2</ChildId> <Attribute1 ID="1296" D="Some Description">1234</Attribute1> <Attribute2 ID="1234" D="Some Different Description">ABC</Attribute2> <Attribute3 ID="4921" D="Other Description" E="501" ED="Error 501 Description">MyValye</Attribute3> </Child> </Parent> 我需要选择所有有错误的孩子属性,可以通过“E”属性来识别(例如孩子1中的属性2和孩子2中的属性3)。 我对这种 XML 查询不是很专家,经过一番尝试后,我最终构建了下面的查询: SELECT EXTRACTVALUE (VALUE (X), '/Parent/UserId') AS USER_ID ,EXTRACTVALUE (VALUE (X), '/Parent/ParentId') AS PARENT_ID ,EXTRACTVALUE (VALUE (X), '/Parent/attrn') AS PARENT_ATTR_N_COL_NAME ,EXTRACTVALUE (VALUE (I), '/Child/ChildId') AS ROW_NUM ,CASE WHEN EXISTSNODE (VALUE (E), '/Attribute1/@E') = 1 THEN ATTR_ONE_COL_NAME WHEN EXISTSNODE (VALUE (E), '/Attribute2/@E') = 1 THEN ATTR_TWO_COL_NAME WHEN EXISTSNODE (VALUE (E), '/Attribute3/@E') = 1 THEN ATTR_THREE_COL_NAME END AS FIELD ,EXTRACTVALUE (VALUE(E), '/*/text()') as VALUE ,EXTRACTVALUE (VALUE(E), '/*/@E') as ERROR_CODE ,EXTRACTVALUE (VALUE(E), '/*/@ED') as ERROR_DESC FROM XML_TABLE X ,TABLE (XMLSEQUENCE (EXTRACT (VALUE (X), '/Parent/Child'))) I ,TABLE (XMLSEQUENCE (EXTRACT (VALUE (I), '/Child/*'))) E WHERE EXTRACTVALUE (VALUE (X), '/Parent/ParentId') = 382010 AND EXISTSNODE (VALUE (E), '/*/@E') = 1'; 当然,XML(然后是查询)实际上要大得多,我只是发布了一个简化的示例以使其更加综合。有时父节点包含数百个子节点,有时我需要查询数千个父节点,所以我想知道是否有一种方法可以优化上述查询并使其更快。 非常感谢:) 考虑用更新且更强大的 EXTRACTVALUE 替换已弃用的 XMLTABLE 函数。使用 XMLTABLE,所有解析都可以在一次查询中完成。然后,您可以使用该查询来执行 DML 操作,也可以循环遍历它以进行更多的过程控制。 下面的代码与您的结果并不完全匹配,但它足够接近,可以让您了解它是如何工作的。 select parent.user_id, parent.parent_id, parent.parent_attr_n_col_name, child.row_num, attribute.value, attribute.error_code, attribute.error_desc from xmltest x, xmltable ('/Parent' passing x.a columns user_id number path 'UserId', parent_id number path 'ParentId', parent_attr_n_col_name path 'attrn' ) parent, xmltable ('/Parent/Child' passing x.a columns row_num number path 'ChildId' ) child, xmltable ('/Parent/Child/*' passing x.a columns value varchar2(100) path 'text()', error_code varchar2(100) path '@E', error_desc varchar2(100) path '@ED' ) attribute where parent_id = 382010 and error_code is not null; 这是我用于测试代码的架构: --drop table xmltest; create table xmltest(a xmltype); insert into xmltest values(xmltype(' <Parent> <ParentId>382010</ParentId> <LastUpd>2023-03-01T22:59:10.456241</LastUpd> <UserId>0</UserId> <attrn>xxx</attrn> <Child> <ChildId>1</ChildId> <Attribute1 ID="1873" D="1466 Description">1466</Attribute1> <Attribute2 ID="1234" D="QWERTY Description" E="503" ED="Error 503 Description">QWERTY</Attribute2> <Attribute3 ID="4921" D="Other Description">YourValue</Attribute3> </Child> <Child> <ChildId>2</ChildId> <Attribute1 ID="1296" D="Some Description">1234</Attribute1> <Attribute2 ID="1234" D="Some Different Description">ABC</Attribute2> <Attribute3 ID="4921" D="Other Description" E="501" ED="Error 501 Description">MyValye</Attribute3> </Child> </Parent>')); 这是您的查询,根据之前的架构进行了一些对我有用的更改。我不确定你的表是如何设置的 - 使用 REF 而不是值? SELECT EXTRACTVALUE (X.a, '/Parent/UserId') AS USER_ID ,EXTRACTVALUE (X.a, '/Parent/ParentId') AS PARENT_ID ,EXTRACTVALUE (X.a, '/Parent/attrn') AS PARENT_ATTR_N_COL_NAME ,EXTRACTVALUE (I.column_value, '/Child/ChildId') AS ROW_NUM -- ,CASE -- WHEN EXISTSNODE (E.column_value, '/Attribute1/@E') = 1 THEN ATTR_ONE_COL_NAME -- WHEN EXISTSNODE (E.column_value, '/Attribute2/@E') = 1 THEN ATTR_TWO_COL_NAME -- WHEN EXISTSNODE (E.column_value, '/Attribute3/@E') = 1 THEN ATTR_THREE_COL_NAME -- END AS FIELD ,EXTRACTVALUE (E.column_value, '/*/text()') as VALUE ,EXTRACTVALUE (E.column_value, '/*/@E') as ERROR_CODE ,EXTRACTVALUE (E.column_value, '/*/@ED') as ERROR_DESC FROM xmltest X ,TABLE (XMLSEQUENCE (EXTRACT (X.a, '/Parent/Child'))) I ,TABLE (XMLSEQUENCE (EXTRACT (value(I), '/Child/*'))) E WHERE EXTRACTVALUE (X.a, '/Parent/ParentId') = 382010 AND EXISTSNODE (VALUE (E), '/*/@E') = '1';

回答 1 投票 0


© www.soinside.com 2019 - 2024. All rights reserved.