临时存储过程存储在什么数据库中
答案:2 悬赏:70
解决时间 2021-02-11 07:19
- 提问者网友:你在我眼中是最帅
- 2021-02-10 15:11
临时存储过程存储在什么数据库中
最佳答案
- 二级知识专家网友:恕我颓废
- 2021-02-10 16:38
在 MSSQL 中,临时存储过程存储在 tempdb 中。可以使用类似
select object_id('tempdb.dbo.#tmproc') 来检查存储过程是否存在
select object_id('tempdb.dbo.#tmproc') 来检查存储过程是否存在
全部回答
- 1楼网友:一池湖水
- 2021-02-10 18:02
这个差距的产生并不是配置的问题,配置好的话,两种查询的速度都会提升。
造成差距的原因:
1、原表和临时表的共享操作不一样。一般来说,临时表只有你一个线程在用,没有任何用户、线程和你竞争使用该临时表。而原表总是有不同的用户、不同的线程在共享使用,对查询响最大的是有大量的数据在写入或者频繁的写入,那么查询的时候就会涉及到很多事务机制(并发、锁)的问题,产生了不同类型的等待事件,所以慢。相比较临时表就没有并发,只要服务器配置好,就非常快。
2、原表和临时表的索引差异。索引对查询的影响也是很大的,不过我相信你这里不会是这个原因。
对于你说的查询操作比插入操作慢,是查询和插入的机制问题,涉及数据库引擎的工作原理,不好深入。简单的说,虽然插入语句好像也包含了查询,可是其并不将查询结果返回,只是在数据库中直接打包做了复制而已,所以查询结果集越大,耗时差异越明显。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯