Puedo obtener el mismo resultado para estas consultas, pero ¿cuál es el más rápido y el más eficiente?unión interna y dónde en() cláusula de rendimiento?
donde in() o unión interna?
SELECT `stats`.`userid`,`stats`.`sumpoint`
FROM `stats`
INNER JOIN users
ON `stats`.`userid` = `users`.`userid`
WHERE `users`.`nick` = '$nick'
ORDER BY `statoylar`.`sumpoint` DESC limit 0,10
y
SELECT `stats`.`userid`,`stats`.`sumpoint`
FROM `stats`
WHERE userid
IN (
SELECT userid
FROM `users`
WHERE `users`.`nick` = '$nick'
)
ORDER BY `stats`.`sumpoint` DESC limit 0,10
en definitiva unión interna evitar en la cláusula posible –
MySQL tiene problemas con 'in' y consultas sub. Ver http://stackoverflow.com/questions/3417074/why-would-an-in-condition-be-slower-than-in-sql –