【发布时间】:2021-05-25 03:03:03
【问题描述】:
这些是我的网站加载需要将近 2 分钟的 2 个查询
SELECT COUNT(*)
FROM wp8k_posts
LEFT JOIN wp8k_postmeta ON (wp8k_posts.ID = wp8k_postmeta.post_id
AND wp8k_postmeta.meta_key = 'rate')
LEFT JOIN wp8k_postmeta AS mt1 ON (wp8k_posts.ID = mt1.post_id)
WHERE 1 = 1
AND (wp8k_postmeta.post_id IS NULL
OR mt1.meta_key = 'rate')
AND wp8k_posts.post_type = 'post'
AND (wp8k_posts.post_status = 'publish'
OR wp8k_posts.post_status = 'private')
另一个是
SELECT wp8k_posts.ID
FROM wp8k_posts
LEFT JOIN wp8k_postmeta ON (wp8k_posts.ID = wp8k_postmeta.post_id
AND wp8k_postmeta.meta_key = 'rate')
LEFT JOIN wp8k_postmeta AS mt1 ON (wp8k_posts.ID = mt1.post_id)
WHERE 1 = 1
AND (wp8k_postmeta.post_id IS NULL
OR mt1.meta_key = 'rate')
AND wp8k_posts.post_type = 'post'
AND (wp8k_posts.post_status = 'publish'
OR wp8k_posts.post_status = 'private')
GROUP BY wp8k_posts.ID
ORDER BY wp8k_postmeta.meta_value + 0 DESC
LIMIT 32, 16
由于这些查询,有什么方法可以让我的网站加载几乎不需要 2 分钟。
【问题讨论】:
-
唯一的区别是:GROUP BY + ORDER BY + LIMIT 吗?