社区
疑难问题
帖子详情
关于存储过程的一个奇怪问题,高手请进!
foguohf
2009-08-06 08:58:31
各位有没有遇到,在程序里调用存储过程,执行的速度很慢,但把存储过程里的内容直接写到程序里,运行速度就很快。为什么?
...全文
144
15
打赏
收藏
关于存储过程的一个奇怪问题,高手请进!
各位有没有遇到,在程序里调用存储过程,执行的速度很慢,但把存储过程里的内容直接写到程序里,运行速度就很快。为什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alisafan123
2009-08-07
打赏
举报
回复
没碰到过,难道有很多用户同时在用?
cailee
2009-08-07
打赏
举报
回复
麦迪同学总结的很不错。good
幸运的意外
2009-08-07
打赏
举报
回复
是不是在程序里还有其他的处理呢?再者就是,如果存储过程直接在sql中运行,那么可能有个执行计划优化的过程,所以,也有可能比程序中快一些。
ssxw
2009-08-07
打赏
举报
回复
确实碰到过这种情况,,存储过程执行比T-sql更慢,,
部分原因是,存储过程旧的编译信息已过期,不是最优的执行计划了造成的,
可以用exec sp_recompile 'procedure_Name' 重新编译,
还有调用函数时,查询分析器执行是1s,客户端却要30s,可以用sql语法,代替函数
能正常,,
soft_wsx
2009-08-06
打赏
举报
回复
[Quote=引用 8 楼 sdhdy 的回复:]
确实很奇怪,你们多少个用户同时访问数据库?可以在人少的时候再试试。
[/Quote]呵呵,看一下SQL SERVER进程如何
重启一下SQL SERVER服务试试,或重启服务器
netcup
2009-08-06
打赏
举报
回复
存储过程第一次执行需要编译,会慢一些,但是后面再执行,只要调用的方法对,就不用再编译了,会比较快啊,是不是你调用存储过程的方法不对,导致没次都编译?
guguda2008
2009-08-06
打赏
举报
回复
[Quote=引用 7 楼 happyflystone 的回复:]
强制指定不缓存该过程的计划试试
每次编译新的计划
[/Quote]
顶,试试这个,说不定真是编译的问题
sdhdy
2009-08-06
打赏
举报
回复
确实很奇怪,你们多少个用户同时访问数据库?可以在人少的时候再试试。
-狙击手-
2009-08-06
打赏
举报
回复
强制指定不缓存该过程的计划试试
每次编译新的计划
SQL77
2009-08-06
打赏
举报
回复
[Quote=引用 2 楼 xiequan2 的回复:]
有这种事吗?你搞反了吧
[/Quote]
是呀,我怎么觉得别扭
--小F--
2009-08-06
打赏
举报
回复
直接写到程序里应该慢些吧 不然别人还写存储过程做什么?
SQL77
2009-08-06
打赏
举报
回复
顶学习,一般都是调用的
feixianxxx
2009-08-06
打赏
举报
回复
存储过程的优点:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
--------------------------------------------------------------------------------
相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:
(1)减少网络通信量。
调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。
(2)执行速度更快。
有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。 (3)更强的适应性.
由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。
(4) 布式工作.
应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
xiequan2
2009-08-06
打赏
举报
回复
有这种事吗?你搞反了吧
feixianxxx
2009-08-06
打赏
举报
回复
我觉得应该相反
罗辑思维:怎么样成为
一个
高手
文字版
怎样才能成为
一个
高手
一 感谢各位来到《罗辑思维》捧场,上一期节目我们隆重地给大家推荐了
一个
,付费的订阅产品在我们罗辑思维开发的得到APP里面 这个产品叫 精英日课,那主持它的是万维刚老师,因为我长期是他...
编程
高手
箴言
编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多
问题
的认知过程和透彻的分析,以及优秀和精彩的编程经验。 第1章 程序点滴 1.1 程序≠软件(1) 1.1 程序≠软件(2) ...
移动存储装系统全攻略
笔者上周末帮一MM修电脑,这个事情本来是没有什么
奇怪
的,可能有很多
高手
都非常的乐意帮MM修电脑。... 回家的路上我一直在想
一个
问题
,U盘现在如此的便宜,我已经有整整一年没有使用过光驱了(笔者的
c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第一式】数据的存储
本章节的重点是数据类型详细介绍整型在内存中的的存储:原码、反码、补码大小端字节序介绍及判断浮点型在内存中的存储解析char // 字符数据类型short // 短整型int // 整型long // 长整型long long // 更长的整型...
从输入 URL 到页面加载完成的过程中都发生了什么事情?
背景 本文来自于之前我发的一篇微博: 不过写这篇文章并不是为了帮...第
一个
问题
:从输入 URL 到浏览器接收的过程中发生了什么事情? 从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了
疑难问题
22,300
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章