同一个存储过程是否能够并发执行
公司的逻辑都写在存储过程里。
最近发现有个导出csv的功能速度很慢,在调用的存储过程里加了日志,然后打开两个页面,第一个页面选择比较复杂的条件,确保它能执行较长的时间(比如30秒), 第二个页面选择简单的条件,一般来说3s可以执行完毕。
先在第一个页面中点击按钮执行,随后马上转到第二个页面点击执行(间隔大概1-2秒)。发现第二个页面的执行速度变的非常慢,而且是在第一个页面执行完毕后才能完成。
看存储过程的日志,第二个页面调用的时间在第一个页面调用的时间之后。也就是说,第二个页面调用的存储过程是在第一个页面调用的存储过程执行完毕后才开始的。这里,存储过程是同一个。
所以我很想向各位请教,sql server的存储过程是串行执行的吗?存储过程中会创建临时变量和临时表, 是不是这些导致存储过程排队?