使用以下表示法:
A >< B -多个A和BA <= B -一个A对多个B我想代表(A >< B) <= C,即把许多Cs与A和B之间的每一个链接联系起来。
以下是我的一些想法(警告:伪代码)
我该用哪一种,为什么?
发布于 2014-09-10 00:28:47
我最喜欢第二种。
table ABMap
primary AB_id
foreign A_id
foreign B_id
unique (A_id, B_id)
clustered_index (A_id, B_id) --- Add
index (A_id) --- Add if B not supplied sometimes
index (B_id) --- Add if A not supplied sometimes
table C
primary C_id
foreign AB_id
# more data在加入表C时,使用AB_id的主键将提供快速查找。
但是,如果大多数查询都使用双亲进行搜索,那么使用(A_id,B_id)对数据进行聚类索引,则执行速度最快。如果有些查询只提供A或B,那么这两个字段上的单独索引将支持这些查询。
https://stackoverflow.com/questions/25755254
复制相似问题