|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
ReStore Procedure 有无一种隔离等级机制? |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 3784 回帖数 0 |
naoku 等级 ☆ 楼主 发表于 2011/9/9 18:53:22 编 辑 |
||
> ==> Harbor_Tan(Blue Harbor) 说道 存储过程在首次运行时被编译,编译的时候SQL Server的查询处理器 对其进行分析优化,以选择最佳的路径来存取数据库中的信息,并做好执 行方案存放在系统表中,编译完成后,它被存储在过程高速缓存的内存当 中。一般这个缓存都定义得足够大,可以容纳几乎全部会用到的存储过程。 一般情况,存储过程作为一个逻辑工作单元也就是事务来执行。不过 并发控制的串行化处理并不是简单的队列处理,等一个事务做完再执行下 一个事务,而是和操作系统中按时间片调度一样,先执行一下1,然后将1 挂起执行队列中下一个2,如此交替直至结束,只不过从用户的角度看是顺 序执行完成的。所以还是需要在存储过程当中对访问的资源进行控制加锁。 > 我最近写了一个SQL server based C/S结构的数据库,其中有一个SP中 > 引用了自己编的与弹片机通讯的dll.但如果多用户请求执行该sp的话, > 将会引起灾难,如果能象事务一样有一个串行话队列来顺序执行用户的 > 请求就好了。另外烦请哪位大虾能否给我解释一下SP在系统内存空间是 > 如何运作的。是不是有多个用户提交操作就有相应的多个SP的运行线程 > 开始工作。如果是这样是不是我该新建一个类似semaphore的表,哪个 > 线程先抢到,就让别的线程等待他让出该标志。 |
1 |
论坛帮助 会员认证删帖申请 联系我们 |