为什么要费心设置命令对象参数的大小参数?

2024-04-21

我们的数据访问层使用命令对象与sql server 进行通信。

在大多数情况下,我已将字段大小(与 sql server 中的列大小匹配)硬编码到命令参数生成器中。

Such as:

SqlParameter param = new SqlParameter("@name", NVarChar, 4000);

与仅将其保留为 0 相比,在此处指定一个值(本例中为 4000)有什么优势?当列大小发生变化时必须重新编译,这很痛苦。


其实是相当重要的。使用不同参数长度发出的相同请求最终为不同的过程缓存中的查询。随着时间的推移,这会导致缓存污染和过度活跃的编译事件。此问题是 Linq2SQL 和 EF 提供程序的实现方式中的主要设计缺陷之一,例如。看数据访问代码如何影响数据库性能 https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/brownfield/how-data-access-code-affects-database-performance#id0070056。另请参阅未正确指定参数长度时的查询性能和计划缓存问题 https://learn.microsoft.com/en-us/archive/blogs/psssql/query-performance-and-plan-cache-issues-when-parameter-length-not-specified-correctly对于一个相关的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么要费心设置命令对象参数的大小参数? 的相关文章

  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • ASP.Net Core 内容配置附件/内联

    我正在从 WebAPI 控制器返回一个文件 Content Disposition 标头值自动设置为 附件 例如 处置 附件 文件名 30956 pdf 文件名 UTF 8 30956 pdf 当它设置为附件时 浏览器将要求保存文件而不是打
  • SQL Server lat;lng varchar 分割过程用作 Lat 和 Lng 以提高搜索速度

    有人可以帮助我使用存储过程或函数来传递我的存储varchar表中的 lat lng 到各个字段作为浮点数作为 Lat 和 Lng 以在半径搜索中使用 lanlng in Table 33 0000 15 222222 Thanks 你只是想
  • 在 SQL Server 中通过标准差消除异常值

    我试图通过标准差消除 SQL Server 2008 中的异常值 我只想要特定列中包含该列平均值的 1 标准差范围内的值的记录 我怎样才能做到这一点 如果您假设事件呈钟形曲线分布 则只有 68 的值与平均值相差 1 个标准差以内 95 的值
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • std::forward_as_tuple 将参数传递给 2 个构造函数

    我想传递多个参数以便在函数内构造两个对象 以同样的方式std pair
  • 如何在事务中使用链接服务器插入远程表?

    我的链接服务器设置正确 我能够执行以下查询 插入 远程服务器 表 SELECT FROM 本地服务器 表 然而当我做同样的事情时交易内 开始传输 插入 远程服务器 表 SELECT FROM 本地服务器 表 提交交易 我收到类似的错误 用于
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • 如何在c的case语句中使用省略号?

    CASE expr no commas ELLIPSIS expr no commas 我在c的语法规则中看到了这样的规则 但是当我尝试重现它时 int test float i switch i case 1 3 printf hi 它失
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2

随机推荐

  • Silverlight 异步单元测试

    我在使用 Silverlight 单元测试框架时遇到了一个奇怪的问题 每次执行的第一个方法都会失败 我使用完全相同的代码进行了第二次测试 并且通过了 第一次调用的奇怪之处在于 它实际上是在等待超时and then执行存储库调用 如果您关心的
  • 张量流 LSTM 模型中的 NaN 损失

    以下网络代码应该是经典的简单 LSTM 语言模型 一段时间后开始输出 nan 损失 在我的训练集上 这需要几个小时 而且我无法在较小的数据集上轻松复制它 但在认真的训练中 这种情况总是会发生 Sparse softmax with cros
  • Expect 脚本中 sudo 的问题

    我正在运行以下脚本 usr bin expect f set user lindex argv 0 set pass lindex argv 1 set PATH lindex argv 2 set INV PATH lindex argv
  • EXC_BAD_INSTRUCTION 将 UICollectionView 单元格数据传递给不同的 ViewController 时

    我有一个基于 Firebase 数据填充的 UICollectionView 我创建了填充 UICollectionView 的自定义单元格 import UIKit import Material class PollCell Colle
  • 切换到 .net core 3 端点路由后,身份 UI 不再工作

    在很难让我的区域显示端点路由之后 我设法在这个自我回答的线程中修复它 尽管不是以非常令人满意的方式 从 2 2 迁移到 3 0 后出现问题 默认工作但无法访问区域 是否有办法调试端点分辨率 https stackoverflow com q
  • 版本控制与错误跟踪软件的集成有多重要[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 目前我们使用 FogBugz 来跟踪问题 发现它没问题 我正在寻找其他东西 让最终用户能够与我们一起跟踪他们的案例 以及实际上与电子邮件配合良好
  • 悬停在动画元素上不一致

    我正在使用 css 围绕圆形路径旋转 div 并且我想让它在悬停时改变颜色 请参阅此处的演示 http jsfiddle net gg7tnueu 1 http jsfiddle net gg7tnueu 1 html body heigh
  • Twitter Bootstrap 下拉菜单不起作用

    我知道 Stack Overflow 上有很多类似的问题 我已经查看过它们 但我的下拉菜单仍然不起作用 这是我的代码 div class navbar navbar inverse navbar fixed top div class na
  • 如何制作这个构造函数的深层复制?

    我制作了这个构造函数 我需要对其进行深层复制 我不太明白深拷贝的含义 我知道它会创建一个拥有自己的动态内存的对象的独立副本 但我不明白这样做的需要是什么 我也不确定如何实际实现深层复制 有什么建议么 这是我需要进行深层复制的构造函数 任何人
  • 配置 Mule JPA 模块以使用 Eclipse Link 和 MySQL

    我正在尝试编写一个 Mule ESB 应用程序 它将 XML 文件读入域对象 然后使用 JPA 将该对象写入 MySQL 数据库 我已经弄清楚了大部分所需的配置 但我遇到了一个问题 其中 Mule JPA 模块 https github c
  • 如何在任何情况下保持文本垂直对齐?

    例如 在下图中 我希望在所有条件下保持文本始终垂直对齐 即使文本是一行 两行或三行 意味着文本应始终垂直居中 我不想添加额外的span div img src Hello Stackoverflow Thank you for help m
  • Google Sheets:使用另一个单元格的内容更改单元格的背景颜色

    我有一个如上所述的谷歌表 我在其中以十六进制格式输入颜色代码 然后命名它们 我想使用代码列中的十六进制代码自动更新颜色块列的背景颜色 我尝试过脚本 但 setBackground 函数不起作用 function myFunction var
  • Chrome 扩展程序编程脚本注入错误

    跟进一个上一篇文章 https stackoverflow com questions 58951909 programmatic method to let the user modify the manifest json conten
  • 如何选择不是第一个 tr 也不是最后一个 td

    MyTable tr tr hover background dfdfdf table tr td A td td B td td C td tr tr td 1 td td 2 td td X td tr tr td 3 td td 4
  • 重塑图像数组时感到困惑

    目前我正在尝试运行 ConvNet 随后将输入神经网络的每张图像都存储为列表 但目前该列表是使用三个 for 循环创建的 看一看 im Image open os path join p input directory item pix i
  • mingw32-make 尝试创建子文件夹 .lib 为非法名称

    我正在尝试编译一个需要 freetype 库的项目 所以我正在弄清楚如何将 freetype 安装到 mingw32 更安全的方法是编译它 无论如何 问题是编译 freetype 2 4 11 我进入了msys中提供的bash 我做到了 c
  • 我们如何在基于Dot Net的Azure移动服务中加载相关对象(预加载)?

    如果我有以下模型结构 public class QuestionItem EntityData public string Content get set public bool IsAnswered get set public int
  • 你能有一个指向工会成员的“成员指针”吗?

    我能找到的所有描述都讨论了类上下文中的 指向成员的指针 工会与结构非常相似 特别是也有成员 您也能指点一下这些成员吗 E g union x int a float b int x p x a 我不是在谈论指向整个联合体的指针 作为联合体成
  • 通过 WebSocket 发送 ArrayBuffer 的子段而不进行复制

    我正在填充一个ArrayBuffer与要通过发送的数据WebSocket 数据具有可变大小 因此在序列化时我动态扩展ArrayBuffer如所须 然而 当序列化过程完成时 我经常在缓冲区末尾有未使用的空间 我不想发送这些空间 可以将所需部分
  • 为什么要费心设置命令对象参数的大小参数?

    我们的数据访问层使用命令对象与sql server 进行通信 在大多数情况下 我已将字段大小 与 sql server 中的列大小匹配 硬编码到命令参数生成器中 Such as SqlParameter param new SqlParam