Mik*_*378 2 performance index oracle query-performance
在阅读图数据库书时,我发现了以下摘录:
我不明白为什么第二个查询比第一个更贵。事实上,两者都对Bob
人进行过滤。
有人可以解释一下吗?
这本书假设 PersonFriend 是在 PersonID 上索引的,而不是在 FriendID 上。似乎还假设 Person 独立地索引 PersonID 和 Person。
如果是这种情况,第一个查询返回为
然后第二个回来
这将是一个基本的关系数据库设计错误。使用这样的关系表,您将始终索引所有键,并且两个查询的性能配置文件将无法区分(忽略值分布的变化等)。
在这一点上,作者似乎试图表明关系数据库本质上是有缺陷的。