在 SQL Server 2008 中将两个表合并为一个索引视图

Merge two tables into a single indexed view in SQL Server 2008

所以这就是我的困境,我目前正在将我所有的记录存储在一个巨大的公寓里 table,里面有电影、剧集、系列、游戏等。70% 的记录是我没有的剧集想要由默认全文目录编制索引,因为它们构成了超过 200 万条记录,并且 90% 的时间人们都在搜索 movies/series,所以我想将这些记录移动到一个单独的 table因此他们可以拥有自己单独的全文目录和一些不适用于 movies/series(季节、剧集 # 等)的附加栏目。

我的问题是我使用存储过程检查表是否在我去下载数据或更新该 ID 的数据之前是否已经存在 ID。

我想创建一个跨 table 的所有 ID 的视图,这样如果该 ID 存在,我可以在一个地方查找,但是当我尝试合并 table 时,它不允许我在视图上创建索引。

ID          Type      |     ID          Type
1           movie     |     2           episode
3           movie     |     4           episode
5           movie     |     6           episode

ID 是唯一的,在 table 中绝不会重复。

我觉得因为这个视图将有超过 200 万条记录,索引可能很重要,因为它每秒被调用超过 250-500+,所以优化是一个重要因素。

有没有比使用 UNION ALL 将 ID 的 1,2,3,4,5,6 放入单个视图更好的方法?

可能您最好的解决方案是创建一个视图,该视图执行 UNION ALL 两个表,但不要试图索引视图,而是确保您在表本身上实施了良好的索引策略。

您可以在视图中使用索引提示来强制视图在有人从视图中进行选择时使用这些索引。