我有三个非规范化表,我必须从表面上看(数据来自一些外部资源)。这三个表有不同的定义,但它们各自从不同的角度描述了同一个对象。
object1 A B
object2 A
object3 B C
object4 C
这些表之间唯一的共同点是它们的主键。我可以使用 SELECT UNION SELECT 将 ID 聚集在一起,但查询似乎相对较慢,即使每个表都有其 PK 字段索引。我可以创建一个视图来抽象这个查询 vw_object_ids,但它以相同的速度执行。我想我可以添加一个索引来实现视图,但是在 SQL Server 2005 中,您不能使用 UNION 来索引视图。
我想要的是让 ID 的主索引与基础数据同步,这些数据可能随时更新或删除。我想我可以通过一组疯狂的触发器无限期地完成此任务,或者只是满足于未索引视图的速度。但我只是想确保我没有遗漏任何选项,或者这个场景是否有名称或是否表明了一种模式。
想法?