我在我的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在一个查询中使用这么多查询的效率如何。将它拆分成多个查询是否更好?
JOIN
数据库模式可以在这里找到。
JOIN如果索引了索引,通常还不错。LEFT JOIN几乎总是会影响性能,因此,如果可能的话,应避免使用它。不同之处在于,LEFT JOIN即使您要连接的列为NULL ,也将连接已连接表中的所有行。而常规(直接)JOIN仅连接匹配的行。
LEFT JOIN
发布您的表结构,我们可以为您提供更好的查询。