我正在将Jet
数据库升级到
sql Server Express 2008 R2,在此之前,我正在重新评估架构(它是在1997-98设计的,设计它的人(即我)是一个白痴!).
我的问题是关于N:N连接表与两列复合键.在Jet中,两列复合键的第一列上的连接将使用复合索引,但第二列上的连接将不会,因此通常在具有大N:N连接表的Jet数据库中具有相当大的记录数,除了复合索引,我在第二列上添加了第二个非唯一索引.
这在sql Server中是个好主意吗?
(也许这在Jet中不是一个好主意?)
相同的规则适用于
sql Server.如果在(ColumnA,ColumnB)上有索引,则只有ColumnA或ColumnA和ColumnB的
查询可以一起使用索引,但只有ColumnB的
查询不能.如果只需要加入ColumnB,那么你一定要创建索引.