当前位置: 首页 > 面试题库 >

SQL Server sp_ExecuteSQL和执行计划

郗奇玮
2023-03-14
问题内容

我有一个查询,在SQL Server Management STudio中超快,在sp_ExecuteSQL下运行时超慢。

这与在spExecuteSQL下运行时不缓存执行计划有关吗?


问题答案:

不。

您可以看到两个执行计划,并使用以下查询对其进行比较。

SELECT usecounts, cacheobjtype, objtype, text, query_plan, value as set_options
FROM sys.dm_exec_cached_plans 
CROSS APPLY sys.dm_exec_sql_text(plan_handle) 
CROSS APPLY sys.dm_exec_query_plan(plan_handle) 
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where text like '%Some unique string in your query%' 
                                          and attribute='set_options'

sp_executesql版本将有一个objtype“准备好的”



 类似资料:
  • 利用Console API来测量执行时间和计数语句执行。 TL;DR 使用console.time()和console.timeEnd()测量代码两个执行点之间所需的时间。 使用console.count()来计算同一个字符串传递给函数的次数。 测量执行时间 time()方法启动一个新的计时器,对于测量代码执行时间来说是=是非常有用的。将字符串传递给该方法,来给测量标记一个名称。 当您想停止计时器

  • 本文向大家介绍如何在Oracle中显示SQL执行进度和执行计划?,包括了如何在Oracle中显示SQL执行进度和执行计划?的使用技巧和注意事项,需要的朋友参考一下 问题: 您想查看Oracle SQL在SQL执行计划中花费时间的位置。 解 使用Oracle 11g版本,我们可以在SQL运行时查看SQL执行计划的进度。“ V $SQL_PLAN_MONITOR”视图为SQL语句的执行计划的每个步骤包

  • 我在java中遇到了ScheduledExecutorService的问题(几天前我没有遇到这个问题,这让我觉得很奇怪)。请找到下面的代码和控制台输出。重复执行任务之间的延迟是1毫秒,所以理想情况下我应该达到每秒1000的计数(几毫秒),但这只是没有发生。请帮帮忙.. 代码: 控制台输出 1000-2013年3月13日14:43:54.477 200-2013年3月13日14:44:10.296

  • 主要内容:1 调用EXPLAIN,2 EXPLAIN中的列,2.1 id,2.2 select_type,2.3 table,2.4 type,2.5 possible_keys,2.6 key,2.7 key_len,2.8 ref,2.9 rows,2.10 Extra详细介绍了MySQL EXPLAIN执行计划的各个字段的含义以及使用方式。 调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动能也有局限性,

  • 我想先除,然后乘,但不知道怎么做这两个想法? 它在工作,但它只是分裂的时刻。

  • 有一个选择题,类型这样? 喜欢吃什么? 下拉选择控件 A: 苹果 下拉选择控件 B: 香蕉 下拉选择控件 C: 葡萄 下拉选择控件 D: 橘子 下拉选择控件 对应json数据如下: 逻辑: 当exp有值时下拉选择控件不可选择,否则可以选择,当B选择是时,A选项满足b==1,此时A要自动勾选是,C满足a==1,也要自动勾选是, 标题也满足也要自动勾选是。 这个表达式是可以自定义,基本就是这样 下拉控