问题标签 [parameter-sniffing]

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

c# - SQL Server 中的 EF Core 参数嗅探

我一直在看 Brent Ozar 的培训视频(对我来说是 SQL Guru),他谈到参数嗅探并说 EF 会这样做,但对于我来说,我无法获得一个有效的示例。我期待看到参数,但它只是用相等而不是@p1、@p2 创建这样的 SQL。

我通过搭建他的 StackOverflow2013 数据库创建了 DBContext,并在帖子类型上创建了一个外键以获取某种 JOIN。

有谁知道我如何获得使用 EF 进行参数嗅探的示例,因为这每次都会创建一个新的查询计划?

如果我调用存储过程,那么我可以获得参数嗅探。

我的 C# 代码如下

0 投票
1 回答
71 浏览

sql - 存储过程在不同的数据库中有不同的计划,不能在主库中复制更好的计划

您能否指出正确的方向,以找出为什么一个计划缓存与另一个数据库中的另一个计划缓存不同。一个数据库较旧且数据较少,但架构和兼容模式应该是完整的。

我已经完成了诸如 freeproc、重置统计信息、全面扫描等操作。一个似乎在进行索引扫描,而另一个似乎在进行索引搜索。它们具有相同的索引,统计数据看起来相似但不准确。该查询列在 blitzCache 中,但没有警告。

生产 https://www.brentozar.com/pastetheplan/?id=rkU8tqhmY

开发 https://www.brentozar.com/pastetheplan/?id=S1-XYc2mY

在此处输入图像描述

0 投票
1 回答
42 浏览

db2 - 在 DB2 中以用户身份执行

我们正在尝试调试一个使用 DB2 的非常古老的 Web 应用程序。

我想运行跟踪以查看单击按钮时会发生什么,但是一旦尝试,我就会收到此错误:

在此处输入图像描述

对我来说很明显,我们的用户没有足够的权限来运行跟踪。

在 T-SQL 中有一种方法可以模拟另一个用户:

我想知道 DB2 中是否有相同的命令。

目标是尝试运行类似SQL Server ProfilerforDB2并嗅探查询。

是的,我已经尝试运行GRANT DBADM ON DATABASE TO USER E.....O了,当然系统回复了:

我们被卡住了,无法移动,因为我们不知道查询是如何工作的。向我们的用户要求更多特权不是一种选择,因为我们正在将客户从竞争对手迁移到我们这边。

我正在尝试做的是一种privilege escalation不犯罪。

我还教过如何从 SQL Server 连接到 DB2 数据库并使用PolyBase,但据我所知,这样的功能只允许我查询,我无法嗅探参数。