MySql:使用 .NET/Connector 使用准备好的语句调用存储过程会更快吗?

2023-11-30

我已经阅读了一些有关 MySql 的预处理语句的内容,并且 .NET/Connector 确实支持它们。

我想知道的是,如果我使用预准备语句调用相同的存储过程数千次,是否比不使用预准备语句执行更快或更好的性能(因为存储过程实际上应该已经编译)?

Eg:

var mySqlCmd = new MySqlCommand(con, "call sp_someProcedure(@param1, @param2);");
mySqlCmd.Prepare();
mySqlCmd.Parameters.AddWithValue("@param1", "");
mySqlCmd.Parameters.AddWithValue("@param2", "");

for (int i = 0; i < 1000; i++)
{
    mySqlCmd.Parameters["@param1"].Value = i.ToString();
    mySqlCmd.Parameters["@param2"].Value = i.ToString();
    mySqlCmd.ExecuteNonQuery();
}

准备好的语句至少需要 2 次数据库调用。第一个调用(准备)采用您的应用程序级 sql 语句,例如从 user_id = ? 的用户中选择 *并在数据库中创建一个查询模板,然后对其进行解析和验证。后续调用只需将值从应用程序层传递到数据库,然后将其插入模板并执行。

数据库中已存在存储过程。它在创建过程中已被解析和验证。存储过程有点像上面提到的模板,但它是数据库的永久功能而不是临时功能。

因此,要执行存储过程,您只需要传递参数 - 不需要准备它。

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

MySql:使用 .NET/Connector 使用准备好的语句调用存储过程会更快吗? 的相关文章

  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 如何获取mysql中一条记录的大小

    如果表包含 TEXT 或 BLOB 类型的字段 如何获取 MySql 中记录的大小 是否可以使用sql语句获取记录或表的大小 要计算字符串或 blob 的大小 以字节为单位 请使用LENGTH YourColumn http dev mys
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • gcc 的配置选项如何确定默认枚举大小(短或非短)?

    我尝试了一些 gcc 编译器来查看默认枚举大小是否很短 至少一个字节 强制使用 fshort enums 或无短 至少 4 个字节 强制使用 fno short enums user host echo Static assert 4 si
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • codeigniter - APPPATH 在控制器之后返回路径

    我在整理应用程序中的路径时遇到问题 我正在使用 APPPATH 函数在数据库中读取 写入图像的字符串路径 问题是 APPPATH 将函数放在控制器之后 这是我获取 css 的函数 当我去http localhost project inde
  • 使用 Process.Start() 时 Windows 窗体 MouseUp 触发两次

    在我的 Windows 窗体应用程序中 如果单击其中一项 我必须打开一个包含特定文件夹的新资源管理器窗口 我正在监听 MouseUp 事件 因为我已经有一些点击检测 我需要点击坐标 现在如果我打开一个新的资源管理器窗口 private vo
  • Paho Mqtt Android 连接到代理失败,并显示 (32103)

    我的网络中有一个 ActiveMQ 代理正在监听 1883 mqtt 如果我使用简单的 Java 应用程序和 mqtt client 0 4 0 jar 库连接到该代理 则一切正常 现在我想使用 Android 设备连接到该经纪人 不幸的是
  • 在 R Shiny 应用程序中渲染 R Markdown 文档时参考书目不起作用

    Problem 我正在尝试在 Shiny 应用程序中渲染 R Markdown 文档 我已经使用 David 在这篇文章中非常有用的解决方案成功实现了这一点 Shiny 应用程序中的 RMarkdown 但是 我无法使用 bib 文件中的引
  • function(e){e.something...} e 是什么?

    当我写作时 new lang click function e alert something e stopPropagation What is e在这里 为什么没有它该功能就无法工作 为什么我可以写任何东西而不是e e is the 事
  • 在模块中使用闪亮的 i18n 翻译闪亮的应用程序?

    Problem 我想将模块化闪亮应用程序的部分内容翻译成德语或英语 我想使用的包是shiny i18n这似乎适用于非模块化应用程序 并且似乎很容易处理 然而 在下面的模块化闪亮玩具示例中 翻译不起作用 有什么建议为什么会发生这种情况吗 服务
  • Nodejs - net 或 http 模块

    我正在做聊天系统nodejs 要创建节点服务器 我可以使用net or http模块 那么使用它们的区别和好处是什么 http是建立在net 它处理 HTTP 底层的 TCP 层 我想你的 聊天系统 将有基于浏览器的客户端 因为 Node
  • 如何等待非子进程退出

    对于子进程 wait and waitpid 函数可用于暂停当前进程的执行 直到子进程退出 但该函数不能用于非子进程 是否还有另一个函数可以等待任何进程的退出 没有什么相当于wait 通常的做法是使用轮询kill pid 0 并寻找返回值
  • 是否可以让 C++ 方法接受 const char* 和 const wchar_t* 作为参数而不重载该方法?

    UPDATE 我选择了模板方法 因为它看起来最优雅 简洁 但最终我得到了这样的东西 template
  • 将 RData 文件读入 Shiny 应用程序

    我正在开发一个闪亮的应用程序 它将读取一些 RData 文件并显示包含内容的表格 这些文件由脚本生成 最终将数据转换为数据帧 然后使用 save 函数保存它们 在闪亮的应用程序中 我有三个文件 ui R server R 和 global
  • 如何只显示角边框?

    我想知道是否可以在 CSS 中制作边框 但仅限于角 像这样的事情 CONTENT 您可以使用多个线性渐变作为背景图像来实现这一点 div width 100px height 100px background linea
  • 是否可以检查用户何时下载我的 ios 应用程序? [复制]

    这个问题在这里已经有答案了 是否可以检查用户何时下载了我的 iOs 应用程序 如果可以 是否可以从中创建一个 if 语句 例如 if downloadDate gt 1march 抱歉 如果您认为这个问题很糟糕 任何代码将不胜感激 D 还应
  • C# Process.Start 参数被截断

    当传递很长的文件路径时 我的参数被截断 我需要启动一个程序并通过命令参数传递所有内容 有时它只是截断命令 它是在全局范围内进行的 因此这不仅是每个参数的问题 而且是整个参数的问题 编辑 问题可能是命令行长度的限制monkey p说 问题是
  • 通过 C 代码计算 Minix 系统上正在运行的进程数

    所以 一开始这看起来很简单 但是在爬行谷歌和这里之后 答案似乎并不像我最初想象的那么简单 基本上 我正在编辑一个 MINIX 内核 作为我的操作系统课程实践的一部分 并且我必须添加一个小功能 当您在信息服务器中按下功能键时 它会显示正在运行
  • 将数据框转换为命名向量

    我在我的 dfm 上应用了一个模型 wordscore 结果我得到了一个输出对象 其类是 textmodel wordscores textmodel list 我对输出 wordscores 感兴趣 它是一个 数字 对象 这就是当clas
  • Java 返回在特定条件下首先执行的 Future,或者同时处理两者

    我有两个 API 它们返回两个不同的结果类 我们将这两个结果结合起来得到一个 FinalClass 基本上 如果这些Api同时运行 如果它首先收到具有特定结果 G H 的A类 则B类是什么并不重要 我们不会等待serviceAPI B 只需
  • 如何在 jetpack compose 中将光标从一个文本字段传递到另一文本字段?

    我有两个文本字段 用户将输入他们的体重和目标体重 当用户单击目标体重时 会出现一个选择器 用户可以从中选择自己的体重 如果用户选择他的体重并按下 确定 按钮 我希望它自动切换到目标体重文本字段 听到的是我的代码 我正在分享示例文本字段 Co
  • AdMob 及其工作原理是什么?

    我对 AdMob 感到困惑 我刚刚注册 我想在应用程序中投放广告 我去添加网站 应用程序 以为就是这样 有一个问题和字段显示 Android 包 url 我点击了问号 它谈到了格式化它 就像这样 market details id 首先 它
  • 如何更改任务栏颜色和sf符号颜色?

    如何更改标签栏背景颜色and将 sf 符号设置为自定义颜色 我已经尝试过 tabitem 下的背景 颜色 颜色 其上方 括号内 我尝试使用符号来执行 palette 因为我做了一个我想使用的自定义颜色 但我不知道如果它在标签中我无法修改它
  • MySql:使用 .NET/Connector 使用准备好的语句调用存储过程会更快吗?

    我已经阅读了一些有关 MySql 的预处理语句的内容 并且 NET Connector 确实支持它们 我想知道的是 如果我使用预准备语句调用相同的存储过程数千次 是否比不使用预准备语句执行更快或更好的性能 因为存储过程实际上应该已经编译 E