2

根据这个问题/答案MSDN 文档,在设计索引视图时不能使用 UNION 关键字。

为什么它在技术上对 DBMS 来说是个问题呢?

在这种情况下,允许在 VUnion(ID) 上添加索引可能非常有用:

CREATE TABLE T1 (ID INT, Name NVARCHAR(100))
CREATE TABLE T2 (ID INT, Info NVARCHAR(1000))

CREATE VIEW VUnion
AS
SELECT ID FROM T1
    UNION
SELECT ID FROM T2
END
4

1 回答 1

0

我无法回答“为什么”的技术问题,可能只有 SQL-Server 项目中的 Microsoft 开发人员才能充分说明这一点。

但是为什么你没有另一张桌子,说T0哪张桌子可以容纳IDs两张桌子中的任何一张?你甚至可以有外键约束,从T1T2,引用该T0表。

当然,这意味着您在 2 个表上的 Insert 和 Delete 过程需要额外的工作,但问题已解决:您将拥有主键,T0 (id)这意味着自动在其上建立索引。

于 2013-07-11T15:02:10.340 回答