我正在测试一个新项目,其中涉及使用 WordPress 安装,该安装有超过 150 万个帖子,通常帖子内容/标题只有一两行 - 所以很短。
我已经有了强烈推荐的 W3-cache 插件,它很有帮助 - 但是当你第一次登陆一个页面时,需要 40-60 才能加载并生成它的缓存,并且网站包含超过 1 个缓存我猜想将所有帖子都缓存起来将是一场灾难 - 因为其中只有大约 5% 会被定期查看。
以下是帖子标准构建的情况,我可以做些什么来改变/加速明显的瓶颈吗?我什至不确定 JOIN 在做什么?当然,所要做的就是通过 ID 来发布邮件。花费这么长时间的查询看起来像是一个显示大量帖子并根据元数据对它们进行排序的查询 - 我在帖子页面上不需要这些?
[5] => Array
(
[0] => SELECT wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') AND (wp_postmeta.meta_key = 'wpfp_favorites' ) GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 ASC LIMIT 0, 1
[1] => 43.2097918987
[2] => require, require_once, include, get_header, locate_template, load_template, …Run Code Online (Sandbox Code Playgroud)