如果 (a,b) 应该是唯一的,但我只会查询 a,那么两列主键是性能最高的方法吗?

3 database-design sql-server

我有一个包含两列 A 和 B 的表格。每个配对 (a, b) 只应在表格中出现一次。当我查询这个表时,我只会对 A 具有特定值的那些行感兴趣。即使我的查询只会在 A 上搜索,两列主键 (A,B) 是否可行?

小智 10

如果您将主键定义为(a,b),那么在使用aOR处理查询时将使用索引a AND b,但不会b单独使用。

如果将主键定义为(b,a),则在处理b,时将使用索引b AND a,但不会a单独使用。