gpt4 book ai didi

mysql 为每个用户高效选择查询(使用或不使用连接)

转载 作者:行者123 更新时间:2023-11-30 23:20:26 26 4
gpt4 key购买 nike

我有以下作业选择查询(实际查询量很大,有很多连接)主要查询:

SELECT id FROM job LIMIT 20

当用户登录时,我想选择用户是否保存了作业。 (许多用户,但一个主要结果)

我的问题是更有效的方法? (考虑查询缓存、缓冲池等)
方法一:

SELECT id, Member 
FROM job AS t1 LEFT JOIN Member AS t2 ON (t1.id=t2.Job) LIMIT 20

(即,如果用户没有保存作业,它将为选择成员返回“Null”)

方法二:
对主要结果使用 Main 查询,然后为每个结果选择(即循环 sql 查询)

 SELECT Member FROM Member WHERE Member=1 AND Job=(each job id)

最佳答案

一般来说,捆绑到单个查询中可以更有效地减少到数据库的往返次数、查询解析成本等。但是,如果捆绑到单个查询中意味着返回一堆您不需要的数据,那么它可能不会比单个查询更有效。

关于mysql 为每个用户高效选择查询(使用或不使用连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15751168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com