临时表和TVF中的会话级数据

时间:2017-06-13 15:13:39

标签: sql sql-server tsql

我目前正在使用目录系统,其中包含许多用户设置和首选项。因此,当我们设置会话时,我们会创建一个允许的产品列表。这些目前存储在名为“allowedProducts_0001”的表中,其中0001是会话ID。

我们以这种方式处理数据,因为我们不希望反复处理产品可见性的复杂性。

我被要求制作一张TVF来从这张表中选择,例如

str = "The Patriots came back to win the Superbowl by scoring 31 points in a row."
humanized = str.gsub(/\d+/) do |match|
  match.to_i.humanize  
end    
humanized # => "The Patriots came back to win the Superbowl by scoring thirty-one points in a row."

我遇到的问题是我无法从动态表名查询,即使输出是静态格式。

我考虑创建一个带有会话ID列的单个表,因此不再需要动态sql,但是这个表太大而无法提高效率(对于一些有多个打开会话的客户端,每个会话100k +产品)

我不能使用临时表,因为调用系统不会一直打开sql连接(一次可以打开几百个会话)。

我们目前正在支持MSSQL2008-R2,但可以选择升级到更新的服务器作为升级程序的一部分。

我正在寻找如何解决这些问题的建议。有人有什么想法吗?

非常感谢提前。

0 个答案:

没有答案