(关于预编译)菜鸟高手都想知道的问题~~~大家讨论指点一下(在线等)

sunpowerkill 2006-09-28 10:41:22
对数据库的操作的语句(增,删,改,查........)
如果把其语句都搞在存储过程或方法里,是不是比直接用sql语句效率要高呢?
比如(以asp为例):

set conn=server.createobject("adodb.connection")
conn.open.....
set rs=server.createobject("adodb.recordset")
set cmd=server.createobject("adodb.command")


方法1
cmd.connection=conn
set rs= cmd.execute 存储过程,参数1,参数2
输出略......

方法二
rs.open "select fld_1,fld_2,..... from table",conn....
输出略......

方法一比方法二快,是这样吗?

谢谢大家~~~~~~~~~~~

...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
allright_flash 2006-09-28
  • 打赏
  • 举报
回复
多次使用时,应该是方法一比方法二快,唯一的一次是第一次,哈哈,我自己都说不明白了。
sunpowerkill 2006-09-28
  • 打赏
  • 举报
回复
回:chenjunjarysky(非洲小白脸)

君之如播云见阳!!!

可是在程序脚本中,使用最多的还是查询,其查询条件又不一定,如:
(where fld1 like '%var%' and fld2 =0 and times between '2006-1-1' and '2006-8-1')
像这样在存储过程里写这些,整理和可读性都会下降吧,不如用脚本,以字符串的方式整合好

如果这样,只能把存储过程多用在以下方面了.
1.语句比较简单但是要在大数据量的表中搜索(例如 top之类,或用索引的语句)
2.语句固定但语句比较复杂(例如,n表连接,再分组,排序之类)


chenjunjarysky 2006-09-28
  • 打赏
  • 举报
回复
如果是一段SQl语句被重复多次执行的话,用存储过程效率是要高些,因为在创建这个过程的时候,就进行了分析和优化.在第一次执行后,存储过程就驻留在内存中,从而省去了重新分析,优化和重新编译的过程.
ww3347 2006-09-28
  • 打赏
  • 举报
回复
仅仅这一句的话,未见得快吧。
sunpowerkill 2006-09-28
  • 打赏
  • 举报
回复
大家讨论呀

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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