哈珀的答案是正确而优雅的。当然,这是经验丰富的SQL编码人员中的“标准”。要求当然是必须对数据库进行规范化:父级不重复;父母::孩子有两个关系;在子表中有两个唯一的索引(ParentKey,ChildKey)和(ChildKey,ParentKey),“否则所有投注均关闭”。不可能获得比这更好的性能(假设服务器已针对硬件进行了正确配置,等等)。下一步是6NF,它确实可以显着提高性能,但是除非必须如此,否则您无需走到那里。如果您的B小于您的A,则速度会非常快。
替代方法是使用子查询。根据Db供应商的不同,子查询(尤其是B小于As的情况)会更快。例如。Sybase处理子查询要比MS好得多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)