问题标签 [sql-tuning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
74 浏览

sql - 如何将用户定义的函数替换为 SELECT 子句?

我的查询中有一个性能问题,执行时间超过 2 分钟。目前主表 f_trans 有 300 万条记录。

我在 where 子句和连接条件中索引了列。

询问 :

功能:

可以帮助我将功能重新组织到选择子句中吗?

0 投票
2 回答
8174 浏览

sql - 使用许多左外连接和重表调整/重写 sql 查询

我有四到五个大小非常大的表,它们使用以下查询进行了外部连接。有什么办法可以重写它以提高性能?

记录数为:

  • t1: 6434323
  • t2: 6934562
  • t3: 9141420
  • t4: 11515192
  • t5: 3797768

大多数用于连接的列都有索引。解释计划中最耗费精力的部分是t4最终发生的外部连接。我只是想知道是否有任何方法可以重写它以提高性能。

0 投票
1 回答
444 浏览

oracle11g - 调整具有 NOT EXIST 子句的 Oracle SQL

我想调整以下查询以消除其中指定的 NOT EXIST 子句。你能帮忙吗?

GLT_temp_upload 是临时表,其中 DA_DUEDATE 是分区表,其中包含大量数据。

请帮忙

0 投票
0 回答
100 浏览

sql - 调整返回 REF CURSOR 的 SQL 查询

我在函数中使用引用游标来返回值。这个函数被递归调用不同的输入值。

我的包定义如下。

我的功能如下。

如果我不在游标的 select 语句中使用并行提示,则查询性能非常差,并且对于多个递归调用,查询几乎需要 8 小时到 24 小时,具体取决于数据。

使用并行提示查询的性能得到提高,完成运行需要 1.30 小时。但它需要 250GB 的 TEMPSPACE。

您能否建议我调整此查询的解决方案。

0 投票
1 回答
114 浏览

sql - 删除查询 - 提高性能

以下是我写的查询,想知道我是否可以进一步提高性能。有人可以帮我吗?

0 投票
2 回答
8496 浏览

sql-server - SQL Server 2012:导致 tempdb 溢出的排序运算符

我有一个 T-SQL 查询 (SQL Server 2012) 可以完成这项工作,但是当我查看执行计划时,我看到一个带有警告的排序运算符:“操作员在执行期间使用 tempdb 以溢出级别 1 溢出数据。”

到目前为止我所做的阅读表明,如果我使用“order by”子句,我可以消除这种排序迭代器。这对我来说不是一个选项,因为我不能进行子查询排序并且对最外层的查询进行排序不会删除排序迭代器。

我在以前的执行计划建议的地方添加了非聚集索引。

我还能做些什么来解决这个“tempdb 溢出”警告吗?在这一点上,我没有更多的想法。

谢谢你的任何想法。

在此处输入图像描述

0 投票
1 回答
1036 浏览

sql - DB2 查询问题 - 我应该使用 Exists 吗?

我有两个包含大量数据的表。

ACTION_SUMMARYACTION_DETAIL

每个用户ACTION_SUMMARY在我的数据库中每天有一行,每个用户有零、一行或多ACTION_DETAILACTION_SUMMARY

我想要一个查询,它返回的用户至少有一个ACTYP_ID在某些值集中具有操作类型 () 的详细记录。

这是一个例子:

AS.DATE上面有索引。但是,由于数据库中有超过 200 万用户,并且每个摘要平均有 5-10 条详细记录,因此我遇到了性能问题。

我正在考虑EXISTS以这种方式使用:

现在,我有两个问题:

1)我的查询EXISTS速度更快吗 - 就像子查询一旦找到东西就会停止并继续前进?

2) 如何改进我的查询?

我在AS.DATE,AS.AS_IDAD.AS_ID上有索引AD.ACTYP_ID

谢谢

0 投票
1 回答
239 浏览

oracle - oracle olap 查询执行时间过长

我有以下表格:

1) date_table_dim

2)clock_table_dim

3) onlinegpspoint : 其中包含我们用于 olap 报告的主要信息

还有一个这样的sql查询:

我的问题是这个查询执行时间太长。可以采取哪些措施来提高此查询执行的性能?

编辑

onlinegpspoint 上有一个发生时间的索引。通过这个查询,我想在 1 小时内获得一些 Olap 信息。(这个查询是我的 fact_table 查询的一种总结。)

0 投票
3 回答
72 浏览

sql - 如何调整以下查询?

这个查询给了我想要的结果,但我不能每次都运行这个查询。这 2 个循环让我付出了代价。所以我需要实现类似视图的东西。但是逻辑涉及临时表,视图中也不允许这样做.so,是否有任何其他方式来存储此结果或更改查询,以减少我的成本。

图 1 图 2

0 投票
0 回答
64 浏览

sql - 动态和静态部分的sql拆分表

在我们的系统中,有一个 Schedule 表,它有两个部分,一个正在被广泛更新(字段 LockedBy、LockExpirationTime、NextDueTime),第二个大部分是静态的(如 Enabled、Name、SchedulePartition 等字段)。在这样的配置中,将它实际拆分为两个不同的表并进行一对一映射是否有意义?

更新存储过程竞争调度。它只修改那些动态字段,但考虑到静态字段(例如启用),目前它使用带有 readpast 的 rowlock。还有其他表,它们依赖于表的静态部分,因此对静态部分有很多读取查询。