问题标签 [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.
sql-server - 在 SQL Server 中查看查询提示 (OPTION)
我有一个使用多个连接的视图上的 SQL 查询,有时运行速度非常慢 - 比正常速度慢很多,使查询几乎无法使用。
我从视图中复制了查询并进行了实验,并在https://dba.stackexchange.com/a/60180/52607找到了解决方案- 如果我添加
到查询结束时,它的运行速度快了约 6 倍。
我现在尝试使 OPTION 适应原始视图,但 SQL Server/SSMS 告诉我
如何将此选项添加到视图中,以便视图的结果查询同样快?
(将选项添加到视图上的查询不会导致任何加速。这看起来像这样:
我想我必须直接将此选项用于 vMyView - 如果可能的话。)
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'
这个变体工作正常!
sql-server-2012 - 为什么我必须对这些层次结构查询强制排序/
下面是我可能会运行的查询示例,对于每个类别,我希望 NumberOfCourses 不仅代表该特定类别,还代表其下的任何子类别。我认为该查询是相当不言自明的。
当我按原样运行时,它可能需要将近两分钟,但是如果我添加提示Option (Force Order)
,则只需几秒钟即可运行。所以我的问题是我做错了什么导致 SQL 创建一个糟糕的计划,还是 SQL 引擎实际上不擅长优化这样的层次结构连接?
我尝试包括 sql 计划,但它太长了,所以不会让我有那么多字符。我很乐意分享它,但如果有人能告诉我怎么做的话。
编辑:我想可能不是每个人都知道这些层次结构是如何工作的。它们的层次结构键看起来像 ~1234~5678~9123~ 其中 1234 是 5678 的父级,而 5678 是 9123 的父级。通过对 CategoryID 进行类似比较,我可以在结果中包含所有子类别。
sql-server-2012 - 使用 CTE 的查询性能
我将在我的 sp.Query 中的查询末尾使用提示 OPTION (RECOMPILE) 或 OPTION (OPTIMIZE FOR UNKNOWN) 包含 union all 运算符,所以我应该使用 cte 吗?它会提高还是影响性能?请建议。
oracle - 使用 @QueryHint 和 spring 数据存储库获取 jpa sql 执行计划
我正在使用 spring-data 进行数据库交互。我想查看存储库中编写的查询的 jpa sql 执行计划。我该怎么做。
https://vladmihalcea.com/execution-plan-oracle-hibernate-query-hints/讲述了使用 GATHER_PLAN_STATISTICS 和 COMMENT 查询提示。我添加了 COMMENT 提示,但不知道如何添加其他提示。
oracle - 如何将 QueryHint 添加到 Hibernate 自定义查询?
我正在尝试将 Oracle 查询提示添加/*+ GATHER_PLAN_STATISTICS PARALLEL(16) */
到我的自定义查询中,看起来类似于:
我找不到任何方法来完成这项工作。我尝试了各种方法,例如在方法之上添加它:
或者
有没有办法让这项工作发挥作用,还是我必须改变我的方法?
oracle - 案例表达式的查询性能
我有一个显示类型的表(未显示所有列)。typeid就是PK。有一些不应该存在的日期重叠。我想从我的查询中删除这些。
数据显示如下(重叠示例)。
SQL。(索引在所有上述表格列上)
对 case 表达式的过滤会减慢查询返回结果的速度。是否有任何提示/技巧可以提高查询性能?
apache-spark-sql - 用于连接性能改进的 Spark-SQL 查询提示
我最近被介绍到SparkSQL
. 我们使用Spark 2.4
. 我最近发现SparkSQL
查询支持其加入策略的以下提示:
- 广播提示
- 合并提示
- SHUFFLE_HASH 提示
不幸的是,我没有找到任何在线资料详细讨论这些提示及其应用场景。我希望了解一些关于何时在查询 Join 中使用这些提示以提高查询性能的技巧。
任何人都可以用一些例子来解释。任何帮助表示赞赏。谢谢
c# - C# 实体框架使用 SQL 选项/提示
我正在 WPF 应用程序中进行一些搜索优化。
有一个搜索 XAML 视图,它使用带有IQueryable
.
在 SQL Server 中,OPTION(QUERYTRACEON 8649)
当我从视图中获取SELECT
部件时,我可以使用它,但在视图本身中,我不能使用它。这OPTION
将我的查询速度提高了 3 倍以上。每次执行时我都会清除缓存。
由于此 SQL Server 视图的限制,我需要以某种方式将其添加到 C# 代码中。
那么,我怎样才能添加它OPTION
以用于IQueryable
?