小编典典

SQL:链接提高效率

sql

我在我的WordPress插件中有一个查询,如下所示:

SELECT users.*, U.`meta_value` AS first_name,M.`meta_value` AS last_name 
    FROM `nwp_users` AS users 
        LEFT JOIN `nwp_usermeta` U 
            ON users.`ID`=U.`user_id` 
        LEFT JOIN `nwp_usermeta` M 
            ON users.`ID`=M.`user_id` 
        LEFT JOIN `nwp_usermeta` C 
            ON users.`ID`=C.`user_id` 
    WHERE U.meta_key = 'first_name' 
        AND M.meta_key = 'last_name' 
        AND C.meta_key = 'nwp_capabilities' 
    ORDER BY users.`user_login` ASC 
    LIMIT 0,10

我是新手,JOIN我想知道JOIN在一个查询中使用这么多查询的效率如何。将它拆分成多个查询是否更好?

数据库模式可以在这里找到。


阅读 174

收藏
2021-04-22

共1个答案

小编典典

JOIN如果索引了索引,通常还不错。LEFT JOIN几乎总是会影响性能,因此,如果可能的话,应避免使用它。不同之处在于,LEFT JOIN即使您要连接的列为NULL ,也将连接已连接表中的所有行。而常规(直接)JOIN仅连接匹配的行。

发布您的表结构,我们可以为您提供更好的查询。

2021-04-22