我已经尝试找到我的问题的答案,但没有找到合适的答案。
我们有一个Java Web应用程序,根据用户角色在启动屏幕上加载数据。 通过执行存储过程来获取启动屏幕上的数据,该存储过程又返回ResultSet,然后从中处理数据以在启动屏幕上显示。
注意:在SybaseASE存储过程中,我们使用了许多临时表,根据几个条件插入和删除数据。并且基于角色,不同的用户将得到不同的结果。
如果多个请求并行访问存储过程会对临时表产生什么影响,那么在存储过程中的临时表的范围是多少,如第1点所述。
基于第2点,是否有可能因为存储过程中的临时表而发生数据库阻塞或死锁情况?
答案 0 :(得分:0)
1:同一存储过程的两次执行是完全独立的(在查询计划方面可能存在一些共性,但这不会影响结果)
2:参见1.临时表特定于存储的proc调用和用户的会话;临时表会在proc结束时自动删除(如果你还没有删除它们)。
3:临时表本身不存在锁定/阻塞问题。但是当然可以在被查询的其他表上锁定/阻塞问题(例如,填充临时表)。这里没什么特别的。