/ La consulta / mysql lleva más de 1 día: mysql, performance, query-performance

La consulta de mysql lleva más de 1 día: mysql, rendimiento, rendimiento de consulta

La consulta de mysql lleva más de 1 día, cómo explicarlo:

update posts set  category_id = (
SELECT keyword_id
FROM post_keywords
where  keyword_id IN (
SELECT  keyword_id
FROM post_keywords
where  id_post = posts.id_post)
group by keyword_id
order by count(keyword_id) DESC
limit 0,1
);

alguna solución ?

Respuestas

2 para la respuesta № 1

Creo que no es exactamente lo mismo, pero creo que el resultado será el que quieres que sea. Estoy más curioso de cómo (¿SI?) Esto podría afectar el rendimiento.

UPDATE posts
SET category_id = (
SELECT pkw.keyword_id
FROM post_keywords pkw
JOIN (
SELECT keyword_id, cnt = COUNT(*)
FROM post_keywords
GROUP BY keyword_id ) cnts
ON cnts.keyword_id = pkw.keyword_id
WHERE pkw.id_post = posts.id_post
ORDER BY cnt DESC
LIMIT 0,1

)