请考虑以下几点:
tbl_Book
tbl_Author
tbl_BookAuthor
我有一个复合/复合主键on (BookID,AuthorID)。更具体地说,基于SSMS设计器的默认值:
在任何时候,我是否需要对任何一个列(BookID、AuthorID)建立一个非聚集索引,或者当它仅作为复合键时,它是否与表中的这两列无关。
发布于 2015-03-06 17:42:41
如果对此表运行的唯一查询指定复合键的两个值(或仅指定第一个值),则不需要其他索引。我认为您可能需要另一个索引的唯一时候是,如果您只对复合键中的第二列进行查询(并且无法将第一列变为第一列,因为您也对该列进行了查询)。
简短的回答:事情应该像-现在一样好。
发布于 2015-03-06 18:26:37
在BookID上搜索很可能是一个索引搜索
对AuthorID (不包括BookID)的搜索将是索引扫描
如果你从来不去搜索第二个,那就无所谓了。
对作者的搜索似乎更有可能,所以我会改变顺序。
https://stackoverflow.com/questions/28904248
复制相似问题