Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
588 views
in Technique[技术] by (71.8m points)

查询数据库时,多次查询比较好还是用sql一次联查比较好?

  • 有一下场景,有两个表,a表和b表是多对多表,他们有某种关联关系(比如a.id在b表有aid这个字段与之对应),需要将他们的字段通过这种关联关系链接起来并返回到前端展示。那我们这里肯定有两种实现方式:

    • 一种是直接使用sql select * from a join b on a.id=b.aid
    • 另一种就是先查满足条件的a表记录,再将a的ids作为过滤条件查询b表对应记录,实现关联。

这里不知道第一种和第二种使用场景的区别是什么。这里想问问有大佬知道吗?我的想法可能与a表和b表数据量相关,a表和b表数据量差别很多可能使用第二种好点,但网上说还有缓存的关系,但不太了解,望大佬解答。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

一般来说是一个sql能搞定的就不要多次查询,多次查询的资源消耗比较大,至于表的数据量大小可以通过表关联的查询语句的调整来实现优化


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...