栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

仅在没有子行的情况下选择父行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

仅在没有子行的情况下选择父行

SELECt id FROM A LEFT OUTER JOIN B ON A.id=B.id WHERe B.id IS NULL

你可以这样做。外部联接应该带来一点性能,但不是很多。

新的数据库系统可能仍会优化您的查询,因此不会有任何差异。

正确的方法是缓存!如果可能,请尝试查询缓存和应用程序级缓存。

当然,您需要适当的索引。

正确地说,我的意思是在两个表上最好是一个哈希索引,因为与具有对数的任何树相比,它具有静态查找时间

尝试在查询前放置一个解释,以了解到底是什么使速度变慢了。

如果您确实需要此方法来加快速度,则可以重新构建数据结构。

您可以创建一个触发器来标记表A中的标志,表be中是否存在相应的条目。当然,这种id数据冗余,但有时值得。只是将其视为缓存。

最后一个想法:您可以尝试

SELECt id FROM A WHERe id NOT IN (SELECt id FROMB)
这样做可能会更快一些,因为不需要实际的连接,但是它也可能会比较慢,因为在be集合中的查找将是一次完整扫描。我不确定该如何处理,但值得一试。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号