3
我是否应该仅出于PK目的将自动递增/ IDENTITY字段添加到交叉引用表中?
我将以下交叉引用表添加到我的SQL Server托管的数据库中: company_id bigint not null (FK) org_path nvarchar (2048) not null 该company_id字段引用id另一个表(其中是主键)中的字段。 假设还可以有多个具有相同记录的记录,则company_id任何主键都必须使用两个字段。但是,由于org_pathSQL Server太长,因此无法使用这两个字段创建密钥。 至于org_path,这是它存在的唯一表。对该表的查询极有可能会询问所有条目或的所有org_path条目company_id。或者换种说法,该表是否会被查询似乎令人怀疑org_path。此外,它不太可能org_path会被更新,更不可能被插入并且可能很少被删除。 我希望总行数可以低到几千。 另外,这nvarchar (2048)是因为该值必须模仿第三方数据库中的值。一个典型的例子是 \Translation Providers\[customer name]\[order name]\ 并可能包含变音符号。 所以我的问题是这样的:添加自动递增id字段并将其与company_id主键结合使用会更有效,还是会增加不必要的开销-并且company_id作为另一个表中主键的事实是否具有任何意义?效果在这里?