问题标签 [sql-optimization]

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 投票
5 回答
2006 浏览

sql - 非常慢的存储过程

我在查询优化方面遇到了困难,目前我非常接近数据库重新设计的点。而stackoverflow是我最后的希望。我认为仅向您显示查询就足够了,因此我不仅链接了数据库脚本,还链接了数据库备份,以防您不想手动生成数据

在这里您可以找到脚本和备份

当您尝试执行以下操作时,问题就开始了......

这部分出现的主要问题:

编辑:这是每个表中的行数:

0 投票
3 回答
106 浏览

sql - 过度更新有多糟糕?

我有以下查询,我想知道 CASE 构造有多糟糕,它强制 DB 引擎用 E.EAOpID 不为空时已经包含的值覆盖 E.EAOpID

也许将这个更新分成两个更新更便宜:

1

2

0 投票
3 回答
4732 浏览

sql - 优化 IN 子句

我正在使用 Oracle 10g。这是我的查询

这里 RefKey、Key 和 KeyStat 都被索引了。该表在此处未使用的另一列上进行了分区。在此查询中,我选择当前活动的主密钥(如果 RefKey = Key 然后是主密钥)(KeyStat = 1)。下面是使用 SQLTools 1.21 RC3 执行此查询的计划。

我担心 ID = 3 "TABLE ACCESS FULL"。如果此查询中使用的所有列都已编入索引,那么为什么 oracle 会进行全表扫描。

如何优化?如果我在内部查询中放入一些值,它会返回得更快。


解释为什么需要子查询:我选择具有至少一个活动键的整个批次。Refkey 不是唯一的;例如:

0 投票
2 回答
128 浏览

mysql - 优化报表的 SQL 查询

这是我编写的 SQL 查询,它工作正常,但速度很慢。

如您所见,它计算了 Yes、No、Other 和匹配的 MobileNo ( D.MobileNo = S.mobile) 销售的数量。

我尝试将索引添加到类型、用户名、手机、MobileNO、CheckDate 和来源 - 性能并没有提高多少。

0 投票
3 回答
59 浏览

sql-server-2005 - 构建一个汇总有关另一个表的数据的表 - 优化建议?

我正在尝试构建一个表格来总结我们 Wiki 中的页面引用某些宏的次数。

我已经建立了一个名为 @currentpages 的临时表,它有 55k 行,如下所示:

和另一个看起来像这样的表:

(我已经简化了上面的内容;它实际上有大约 40 列,如 Macro1、Macro2 等。)我试图计算有多少引用(在@currentpages 中)对这些不同的宏。

我通过为每个可能的 SpaceKey 值创建一行来初始化 @usage 表,将所有 Macro"x" 计数器清零:

然后我运行几个 UPDATE 语句中的第一个来识别每个宏引用:

这似乎工作正常,但运行时间很长。有没有更有效的方法来做我想做的事情?

此数据库位于 SQL Server 2005 上。

非常感谢,贝茜

0 投票
4 回答
2269 浏览

sql - SQL查询慢,不知道如何优化

所以我必须处理一个没有索引的数据库(不是我的设计,这让我很沮丧)。我正在运行一个大约需要三秒钟才能返回的查询,我需要它更快。

以下是相关的表格和列:

我的查询是:

我尝试使用 EXISTS 而不是 DISTINCT,但没有任何改进。我已经阅读了有关 SQL 优化的所有内容,但我似乎无法将此查询缩短到合理的时间(合理的时间小于 0.5 秒)。任何想法将不胜感激。

0 投票
1 回答
46 浏览

sql - 在很多连接中创建多个表而不是单个表会更好

如果我正在创建一个可供许多不同用户同时不断插入和检索行的数据库,多个表会更好吗?如果不是在速度方面,那么在死锁方面会更好吗?

0 投票
3 回答
747 浏览

sql - 针对多对一关系优化 SQL 查询

我有两个具有多对一关系的表,我将它们称为 Parent_Table 和 Child_Table (即父母有零个或多个孩子,但孩子只有一个父母)。我需要计算至少有一个孩子满足某些条件的父母的数量。哪个查询是最佳的?

选项1(很确定不是这个)

选项 2

选项3(我猜是最快的)

还是完全是别的东西?它取决于每个表的大小,还是两个条件的复杂性,或者数据是否排序?

编辑:数据库是甲骨文。

0 投票
2 回答
56 浏览

sql - 我应该在这个查询中使用索引吗?

我对索引有疑问,

我在客户表上使用 CID 索引,原因是我正在查询该表以及加入预订表。

架构预订表

顾客

询问

我的问题是:通过引用查询向 CID 添加索引是否真的有什么区别?

我添加了它,因为它正在被加入和选择。

我用非结构化数据(无索引)测试了这个查询,CPU 没有显着下降,但跟踪文件中的磁盘列从 1800 下降到 337。

非结构化盘1800,指数337。

通过索引对客户表进行快速全扫描。

0 投票
1 回答
6488 浏览

sql - 了解从 tkprof 生成的跟踪文件

嘿伙计们,我正在学习使用 oracle 10g 进行查询优化,并且在理解下面的文件时遇到了一些麻烦。有人可以解释下面的文件,它是我运行的查询的跟踪文件。我知道 CPU 和经过的时间是多少(查询从数据库中获取数据所需的时间),但不确定“磁盘”和“查询”。