社区
C#
帖子详情
C#执行存储过程非常慢
Delphiandliu
2009-09-24 11:51:37
各位大侠,我写了个存储过程,在查询分析器中执行只需1秒钟,但用C#调用的时候居然要1分多钟还会出结果,不知什么原因。有人说是用了这个 SqlParameter 的原因。在线等解决方案, 谢谢
...全文
554
33
打赏
收藏
C#执行存储过程非常慢
各位大侠,我写了个存储过程,在查询分析器中执行只需1秒钟,但用C#调用的时候居然要1分多钟还会出结果,不知什么原因。有人说是用了这个 SqlParameter 的原因。在线等解决方案, 谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yangyn77
2009-09-24
打赏
举报
回复
太有才了!
Delphiandliu
2009-09-24
打赏
举报
回复
各位,上面是我的调用代码
Delphiandliu
2009-09-24
打赏
举报
回复
Response.Write("begin:" + DateTime.Now.ToString() +"<Br>");
DataSet ds=new DataSet();
SqlConnection conn=new SqlConnection(Post183Configuration.ConnectionString);
SqlCommand cmd=new SqlCommand();
cmd.CommandTimeout = 1200;
cmd.Connection=conn;
cmd.CommandText="getOrganOrderReport";
SqlParameter busiIdparam=new SqlParameter("@strBisID",System.Data.SqlDbType.VarChar,2000);
busiIdparam.Value=GetSelectBusiness();
cmd.Parameters.Add(busiIdparam);
SqlParameter lvlparam=new SqlParameter("@strLvl",System.Data.SqlDbType.VarChar,10);
lvlparam.Value="3";
cmd.Parameters.Add(lvlparam);
SqlParameter sdateparam=new SqlParameter("@Bdate",System.Data.SqlDbType.VarChar,20);
sdateparam.Value=this.txtBgnTime.Text.Trim();
cmd.Parameters.Add(sdateparam);
SqlParameter edateparam=new SqlParameter("@Edate",System.Data.SqlDbType.VarChar,20);
edateparam.Value=this.txtEndTime.Text.Trim();
cmd.Parameters.Add(edateparam);
SqlParameter stdparam=new SqlParameter("@strStatus",System.Data.SqlDbType.VarChar,1000);
stdparam.Value=this.GetStatus();
cmd.Parameters.Add(stdparam);
cmd.CommandType=CommandType.StoredProcedure;
Response.Write("begin1:" + DateTime.Now.ToString() +"<Br>");
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
ds.Tables.Add("CityOrderTotal");
da.Fill(ds.Tables["CityOrderTotal"]);
Response.Write("begin2:" + DateTime.Now.ToString() +"<Br>");
conn.Dispose();
cmd.Dispose();
Response.Write("end:" + DateTime.Now.ToString() +"<Br>");
return ds;
Rommen
2009-09-24
打赏
举报
回复
up
cadtian
2009-09-24
打赏
举报
回复
无代码无真相
mythad
2009-09-24
打赏
举报
回复
up
yixianggao
2009-09-24
打赏
举报
回复
肯定是代码问题,估计存在死锁滴情况!
soaringbird
2009-09-24
打赏
举报
回复
结果集有多少行?
上海程序员3
2009-09-24
打赏
举报
回复
肯定是c#部分代码有问题,我好像从未碰到过有区别的情况
zhengliyan_star
2009-09-24
打赏
举报
回复
不是吧!我也用这个阿,速度慢,运行的结果对吗??
风之影子
2009-09-24
打赏
举报
回复
C#中调用的代码呢?贴出来看看
Delphiandliu
2009-09-24
打赏
举报
回复
[Quote=引用 32 楼 jiezi316 的回复:]
啊?看来你在线啊!对不起了哈。我乱说的。呵呵
这个肯定不是C#执行存储过程慢。你在查询分析器里查询对于longText 这类字段字数太多就会显示 <Long Text>,而不会显示完整内容。如果在程序里你的40条记录都含有这样的大数据的字段的话,可能查询很快,但发送数据结果集要很长时间。
[/Quote]
嗯,没关系,不过你说的可能有些道理。
jiezi316
2009-09-24
打赏
举报
回复
啊?看来你在线啊!对不起了哈。我乱说的。呵呵
这个肯定不是C#执行存储过程慢。你在查询分析器里查询对于longText 这类字段字数太多就会显示<Long Text>,而不会显示完整内容。如果在程序里你的40条记录都含有这样的大数据的字段的话,可能查询很快,但发送数据结果集要很长时间。
Delphiandliu
2009-09-24
打赏
举报
回复
[Quote=引用 30 楼 jiezi316 的回复:]
错觉
[/Quote]
呵呵,此话怎么讲?
jiezi316
2009-09-24
打赏
举报
回复
错觉
Delphiandliu
2009-09-24
打赏
举报
回复
[Quote=引用 27 楼 hack95 的回复:]
没找到问题...
这就得自己调试了,说不定不是这里慢。
引用 9 楼 delphiandliu 的回复:
Response.Write("begin:" + DateTime.Now.ToString() +" <Br>");
DataSet ds=new DataSet();
SqlConnection conn=new SqlConnection(Post183Configuration.ConnectionString);
SqlCommand cmd=new SqlCommand();
cmd.CommandTimeout = 1200;
cmd.Connection=conn;
cmd.CommandText="getOrganOrderReport";
SqlParameter busiIdparam=new SqlParameter("@strBisID",System.Data.SqlDbType.VarChar,2000);
busiIdparam.Value=GetSelectBusiness();
cmd.Parameters.Add(busiIdparam);
SqlParameter lvlparam=new SqlParameter("@strLvl",System.Data.SqlDbType.VarChar,10);
lvlparam.Value="3";
cmd.Parameters.Add(lvlparam);
SqlParameter sdateparam=new SqlParameter("@Bdate",System.Data.SqlDbType.VarChar,20);
sdateparam.Value=this.txtBgnTime.Text.Trim();
cmd.Parameters.Add(sdateparam);
SqlParameter edateparam=new SqlParameter("@Edate",System.Data.SqlDbType.VarChar,20);
edateparam.Value=this.txtEndTime.Text.Trim();
cmd.Parameters.Add(edateparam);
SqlParameter stdparam=new SqlParameter("@strStatus",System.Data.SqlDbType.VarChar,1000);
stdparam.Value=this.GetStatus();
cmd.Parameters.Add(stdparam);
cmd.CommandType=CommandType.StoredProcedure;
Response.Write("begin1:" + DateTime.Now.ToString() +" <Br>");
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
ds.Tables.Add("CityOrderTotal");
da.Fill(ds.Tables["CityOrderTotal"]);
Response.Write("begin2:" + DateTime.Now.ToString() +" <Br>");
conn.Dispose();
cmd.Dispose();
Response.Write("end:" + DateTime.Now.ToString() +" <Br>");
return ds;
[/Quote]
呵呵,我都输出了时间,确定是在这里慢了
Delphiandliu
2009-09-24
打赏
举报
回复
to zxkid
用的是sqlserver 2000,C# 1.0
to jaylongli
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
ds.Tables.Add("CityOrderTotal");
da.Fill(ds.Tables["CityOrderTotal"]);
大部分时间花在了上面四个语句上。
柳晛
2009-09-24
打赏
举报
回复
没找到问题...
这就得自己调试了,说不定不是这里慢。
[Quote=引用 9 楼 delphiandliu 的回复:]
Response.Write("begin:" + DateTime.Now.ToString() +" <Br>");
DataSet ds=new DataSet();
SqlConnection conn=new SqlConnection(Post183Configuration.ConnectionString);
SqlCommand cmd=new SqlCommand();
cmd.CommandTimeout = 1200;
cmd.Connection=conn;
cmd.CommandText="getOrganOrderReport";
SqlParameter busiIdparam=new SqlParameter("@strBisID",System.Data.SqlDbType.VarChar,2000);
busiIdparam.Value=GetSelectBusiness();
cmd.Parameters.Add(busiIdparam);
SqlParameter lvlparam=new SqlParameter("@strLvl",System.Data.SqlDbType.VarChar,10);
lvlparam.Value="3";
cmd.Parameters.Add(lvlparam);
SqlParameter sdateparam=new SqlParameter("@Bdate",System.Data.SqlDbType.VarChar,20);
sdateparam.Value=this.txtBgnTime.Text.Trim();
cmd.Parameters.Add(sdateparam);
SqlParameter edateparam=new SqlParameter("@Edate",System.Data.SqlDbType.VarChar,20);
edateparam.Value=this.txtEndTime.Text.Trim();
cmd.Parameters.Add(edateparam);
SqlParameter stdparam=new SqlParameter("@strStatus",System.Data.SqlDbType.VarChar,1000);
stdparam.Value=this.GetStatus();
cmd.Parameters.Add(stdparam);
cmd.CommandType=CommandType.StoredProcedure;
Response.Write("begin1:" + DateTime.Now.ToString() +" <Br>");
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
ds.Tables.Add("CityOrderTotal");
da.Fill(ds.Tables["CityOrderTotal"]);
Response.Write("begin2:" + DateTime.Now.ToString() +" <Br>");
conn.Dispose();
cmd.Dispose();
Response.Write("end:" + DateTime.Now.ToString() +" <Br>");
return ds;
[/Quote]
加油馒头
2009-09-24
打赏
举报
回复
打个短点调试下 到哪里开始慢的
zxkid
2009-09-24
打赏
举报
回复
楼主用是的SQL Server 2005吧?
加载更多回复(13)
【转】解决
存储过程
执行
快,但
C#
程序调用
执行
慢
的问题
源博客地址 https://blog.csdn.net/pgbiao/article/details/22388945 其他参考:参数探测(Parameter Sniffing)影响
存储过程
执行
效率解决方案 这篇文章对参数嗅探问题作了很详细的研究 https://www.cnblogs.com/lyhabc/articles/3222179.html ...
解决SSMS
存储过程
执行
快,但
C#
程序调用
执行
慢
的问题
针对 SSMS 中
存储过程
执行
快(<1 秒)、
C#
程序调用却超时的问题排查处理
oracle 存儲過程執行
慢
,Oracle存儲過程將光標放
慢
到C#,在TOAD上快速執行
我們使用asp.net mvc作爲Web應用程序並將oracle 12C用作數據庫'Oracle.DataAccess.Client'(12.1.0,64位版本)用於連接到Oracle數據庫以及我們的asp.net MVC應用程序也在64位機器上運行。Oracle存儲過程將光標放
慢
到C#,在TOAD上快速執行我們的一個存儲過程返回一個光標作爲輸出參數。現在,當我們在TOAD或SQL Develop...
解决
存储过程
执行
快,但程序调用则
执行
慢
的问题
解决
存储过程
执行
快,但程序调用则
执行
慢
的问题
【Python开发】基于万邦API的电商数据采集系统设计:集成接口调用与数据解析全流程实现
内容概要:本文是一篇详尽的Python调用万邦API实战教程,以速卖通关键词搜索接口(aliexpress.item_search)为主线,系统讲解了从注册获取Key、安装requests库、构建请求、参数详解、解析JSON返回值,到数据清洗、翻页采集、去重、导出CSV/Excel,以及提升代码健壮性的完整流程。文章深入剖析了接口的公共参数与业务参数配置方法,解读了复杂的返回结构(包括外层元信息与内层商品数据),并提供了自定义解析、异常处理、重试机制、限流控制等实用代码模板,最后还指导如何将方案迁移到1688、京东、Lazada等其他电商平台。; 适合人群:具备基础Python编程能力,对网络爬虫、自动化数据采集或跨境电商数据分析感兴趣的研发人员、数据分析师或运营人员。; 使用场景及目标:① 实现对速卖通等电商平台的商品数据进行高效、稳定的批量采集,用于选品分析、竞品监控和价格带研究;② 学习如何构建一个健壮、可复用的第三方API调用程序,掌握错误处理、数据清洗和自动化导出的核心技能。; 阅读建议:学习时应结合文档提供的完整可运行脚本,逐步动手实践每个环节,重点关注“常见问题排查手册”中的坑点,并在真实项目中应用所学的错误码判断、数据类型安全转换和额度监控等最佳实践。
C#
111,128
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章