调用存储过程,大家帮忙分析一下那种效率会更高

wpb 2004-11-10 04:17:59
test 是带有一个传入参数的存储过程

1、直接将参数放在存储过程名后赋给CommandText
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = "test '6380'";
DataGrid1.DataSource = cmd.ExecuteReader();
DataGrid1.DataBind();

2、将参数付给SqlParameter对象,然后将SqlParameter添加给cmd

问题是如果存储过程需要传入多个参数时,且有数百人同时在线,上边两种方案哪一种执行效率更高?
...全文
252 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
gavintolee 2004-11-11
  • 打赏
  • 举报
回复
同意redcomet2004(光荣的罗马) !!! 传入参数少用1,多用2
wpb 2004-11-11
  • 打赏
  • 举报
回复
aa
redcomet2004 2004-11-11
  • 打赏
  • 举报
回复
传入参数少用1,多用2
allanli 2004-11-11
  • 打赏
  • 举报
回复
我是用第一种的,不过我是写明参数名的,觉得这样省事快捷,不用写一大堆SqlParameter赋值的代码,呵呵

cmd.CommandText = "test @参数名='6380'";
wpb 2004-11-11
  • 打赏
  • 举报
回复
感谢大家参与,接分!!
v192 2004-11-11
  • 打赏
  • 举报
回复
参数个数不确定倒没什么问题的,可以用集合,队列这些处理。但是通常推荐的都是第二种用法。
wpb 2004-11-11
  • 打赏
  • 举报
回复
对,第二种是容易读很多,但可能很多人没看清题目,正如3feng(张3疯)兄所说,我用的两种方法都是调用存储过程啊,但大家好像没把第一种方法当作存储过程调用。第一种方法也是调用存储过程的一种方法。我要写一个通用性很强的数据访问类,考虑到存储过程的参数个数不确定,才想比较一下上边的两种方案哪一种更好。
yangao 2004-11-11
  • 打赏
  • 举报
回复
第一种不写文档很难看懂
第二种易读
ljb1981216 2004-11-11
  • 打赏
  • 举报
回复
应该是存储过程!你可以自己测试一下!
jasomliu 2004-11-11
  • 打赏
  • 举报
回复
LG什么意思? LG=‘路过’嘎嘎
偶也觉得第二种好一些,特别是你参数多时,第一种方法会把你郁闷死~
李洪喜 2004-11-11
  • 打赏
  • 举报
回复
还是使用存储过程吧。好控制。安全。
tongcheng 2004-11-11
  • 打赏
  • 举报
回复
看看
。。。。
3feng 2004-11-11
  • 打赏
  • 举报
回复
呵呵。楼上的都没看清楚题目吧???

他两种方法都是用的存储过程啊。只是调用的方式不一样。

效率上是第一种高,但第一中结构不明确,不易读,而且,其他人不容易看明白。
jianli0108 2004-11-10
  • 打赏
  • 举报
回复
存储过程肯定快,也方便但是就像[ WZCNet(只有想不到,没有做不到)]所说不好维护
哈哈007哈 2004-11-10
  • 打赏
  • 举报
回复
同意用存储过程
WZCNet 2004-11-10
  • 打赏
  • 举报
回复
存储过程快一些。第一种方法应该比第二种快一点,但这点效率可以会感觉不出来,如果你的参数会很多的话,建议用第二种,第一种不好维护。
Anhowe 2004-11-10
  • 打赏
  • 举报
回复
同意存储过程,虽多人时会造成“每次它都要为参数对象开辟空间,毕竟会造成时间和空间的浪费。”,但不会多于每次重生成一个查询
gaoxiaospring 2004-11-10
  • 打赏
  • 举报
回复
速度上没什么区别,因为同是执行一个存储过程。你只能优化存储过程语句或数据库对象来提高效率。
建议用第二种方法。第一种方法在有参数时可能会产生漏洞。
morefish 2004-11-10
  • 打赏
  • 举报
回复
当然是存储过程比Sql字符串快了啊。
wpb 2004-11-10
  • 打赏
  • 举报
回复
LG什么意思?
加载更多回复(2)

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧