我的 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
在一个查询中。将其拆分为多个查询是否更好?
可以在此处找到数据库架构。 http://codex.wordpress.org/Database_Description#Table%3a_wp_users
JOIN
如果键被索引,通常不会那么糟糕。LEFT JOIN
几乎总是会影响性能,如果可能的话应该避免它。不同之处在于LEFT JOIN
即使您要连接的列为 NULL,也会连接连接表中的所有行。虽然是常规(直)JOIN
只是连接匹配的行。
发布您的表结构,我们可以为您提供更好的查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)