问题标签 [query-hints]

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 回答
6931 浏览

sql-server - 在 SQL Server 中查看查询提示 (OPTION)

我有一个使用多个连接的视图上的 SQL 查询,有时运行速度非常慢 - 比正常速度慢很多,使查询几乎无法使用。

我从视图中复制了查询并进行了实验,并在https://dba.stackexchange.com/a/60180/52607找到了解决方案- 如果我添加

到查询结束时,它的运行速度快了约 6 倍。

我现在尝试使 OPTION 适应原始视图,但 SQL Server/SSMS 告诉我

如何将此选项添加到视图中,以便视图的结果查询同样快?

(将选项添加到视图上的查询不会导致任何加速。这看起来像这样:

我想我必须直接将此选项用于 vMyView - 如果可能的话。)

0 投票
1 回答
787 浏览

sql - Oracle sql 区分大小写的索引

在我的项目数据库显示表 Products 中,有一列名为 'Name' 所以,这个表可以包含 'Product A' 和 'Product a' 这两个产品都应该在简单的选择查询中被选中。

我创建索引: CREATE INDEX IDX_PRODUCT_NAME ON PRODUCTS(NAME)

之后运行 SQL 查询: SELECT /*+ INDEX(PRODUCTS IDX_PRODUCT_NAME)*/ * FROM PRODUCTS WHERE NAME='Product_a'

我做错了什么?

PS我知道改变会话标志的变体: NLS_COMP=ANSI; NLS_SORT=BINARY_CI; 但对我来说有趣的变体没有改变数据库设置,这可能吗?或者例如仅针对我的查询更改此标志。

请看图

更新: 威廉·罗伯逊在评论中帮助了我。 CREATE INDEX IDX_PRODUCT_NAME ON PRODUCTS(UPPER(NAME))

之后运行查询: SELECT * FROM PRODUCTS WHERE **UPPER**(NAME)='PRODUCT_A' 这个变体工作正常!

0 投票
1 回答
357 浏览

sql-server-2012 - 为什么我必须对这些层次结构查询强制排序/

下面是我可能会运行的查询示例,对于每个类别,我希望 NumberOfCourses 不仅代表该特定类别,还代表其下的任何子类别。我认为该查询是相当不言自明的。

当我按原样运行时,它可能需要将近两分钟,但是如果我添加提示Option (Force Order),则只需几秒钟即可运行。所以我的问题是我做错了什么导致 SQL 创建一个糟糕的计划,还是 SQL 引擎实际上不擅长优化这样的层次结构连接?

我尝试包括 sql 计划,但它太长了,所以不会让我有那么多字符。我很乐意分享它,但如果有人能告诉我怎么做的话。

编辑:我想可能不是每个人都知道这些层次结构是如何工作的。它们的层次结构键看起来像 ~1234~5678~9123~ 其中 1234 是 5678 的父级,而 5678 是 9123 的父级。通过对 CategoryID 进行类似比较,我可以在结果中包含所有子类别。

0 投票
0 回答
65 浏览

sql-server-2012 - 使用 CTE 的查询性能

我将在我的 sp.Query 中的查询末尾使用提示 OPTION (RECOMPILE) 或 OPTION (OPTIMIZE FOR UNKNOWN) 包含 union all 运算符,所以我应该使用 cte 吗?它会提高还是影响性能?请建议。

0 投票
1 回答
1930 浏览

oracle - 使用 @QueryHint 和 spring 数据存储库获取 jpa sql 执行计划

我正在使用 spring-data 进行数据库交互。我想查看存储库中编写的查询的 jpa sql 执行计划。我该怎么做。

https://vladmihalcea.com/execution-plan-oracle-hibernate-query-hints/讲述了使用 GATHER_PLAN_STATISTICS 和 COMMENT 查询提示。我添加了 COMMENT 提示,但不知道如何添加其他提示。

0 投票
0 回答
398 浏览

oracle - 如何将 QueryHint 添加到 Hibernate 自定义查询?

我正在尝试将 Oracle 查询提示添加/*+ GATHER_PLAN_STATISTICS PARALLEL(16) */到我的自定义查询中,看起来类似于:

我找不到任何方法来完成这项工作。我尝试了各种方法,例如在方法之上添加它:

或者

有没有办法让这项工作发挥作用,还是我必须改变我的方法?

0 投票
1 回答
34 浏览

oracle - 案例表达式的查询性能

我有一个显示类型的表(未显示所有列)。typeid就是PK。有一些不应该存在的日期重叠。我想从我的查询中删除这些。

数据显示如下(重叠示例)。

SQL。(索引在所有上述表格列上)

对 case 表达式的过滤会减慢查询返回结果的速度。是否有任何提示/技巧可以提高查询性能?

0 投票
1 回答
601 浏览

apache-spark-sql - 用于连接性能改进的 Spark-SQL 查询提示

我最近被介绍到SparkSQL. 我们使用Spark 2.4. 我最近发现SparkSQL查询支持其加入策略的以下提示:

  • 广播提示
  • 合并提示
  • SHUFFLE_HASH 提示

不幸的是,我没有找到任何在线资料详细讨论这些提示及其应用场景。我希望了解一些关于何时在查询 Join 中使用这些提示以提高查询性能的技巧。

任何人都可以用一些例子来解释。任何帮助表示赞赏。谢谢

0 投票
0 回答
114 浏览

c# - C# 实体框架使用 SQL 选项/提示

我正在 WPF 应用程序中进行一些搜索优化。

有一个搜索 XAML 视图,它使用带有IQueryable.

在 SQL Server 中,OPTION(QUERYTRACEON 8649)当我从视图中获取SELECT部件时,我可以使用它,但在视图本身中,我不能使用它。这OPTION将我的查询速度提高了 3 倍以上。每次执行时我都会清除缓存。

由于此 SQL Server 视图的限制,我需要以某种方式将其添加到 C# 代码中。

那么,我怎样才能添加它OPTION以用于IQueryable

0 投票
0 回答
87 浏览

oracle - 使用 oracle jdbc 驱动程序的“提示”格式化查询输出

是否可以使用 oracle jdbc 驱动程序获得“提示”格式的查询输出?

示例查询

或者

看起来 stmt.executeQuer 只是忽略了格式化“提示”,只返回 Select * 结果

UPD:正如评论中提到的,/*insert*/“提示”特定于 SQL Developer 和 SQLcl 客户端。

我能够从 SQLcl 客户端获取查询格式的输出 在此处输入图像描述

最终目标是从 Java 代码中获取格式化的查询输出。所以重新表述这个问题:如何使用 java运行查询并通过SQLcl获取输出?