Performance DB项目-通过关系改善绩效

Performance DB项目-通过关系改善绩效,performance,sql-server-2008,tsql,relational-database,foreign-key-relationship,Performance,Sql Server 2008,Tsql,Relational Database,Foreign Key Relationship,我有两张桌子,我们叫它们table A和table B。表A中的一条记录与表B中的一条或多条记录相关。但是在TableB中,对于TableA中的每条记录(例如ID最低的记录),它们中还有一条特殊记录,我希望能够快速访问该特殊记录。两个表中的数据都不会被删除——这是一种很少被清除的历史记录。这在性能方面如何做到最好 我想到: 1) 双向关系,但会影响插入性能 2) 设计下一个表,主键为FK_TableA(对于TableA记录,恰好有一个是“特殊的”),第二列为FK_TableB,然后创建视图 3)

我有两张桌子,我们叫它们table A和table B。表A中的一条记录与表B中的一条或多条记录相关。但是在TableB中,对于TableA中的每条记录(例如ID最低的记录),它们中还有一条特殊记录,我希望能够快速访问该特殊记录。两个表中的数据都不会被删除——这是一种很少被清除的历史记录。这在性能方面如何做到最好
我想到:
1) 双向关系,但会影响插入性能
2) 设计下一个表,主键为FK_TableA(对于TableA记录,恰好有一个是“特殊的”),第二列为FK_TableB,然后创建视图
3) 设计下一个表,主键为FK_TableA,FK_TableB,使FK_TableA唯一,然后创建视图

我对所有其他想法开放:(

< P > 4)我会考虑一个隐藏连接和行限制< /P> 这与选项2和3类似,但DB引擎将为您维护它。使用一个新表,您要么破坏数据完整性,要么必须通过触发器管理数据