Wordpress生成了大量的SQL查询。
我们使用'WP Fastest Cache',它可以从您的平台创建静态html页面并缓存它们。然而,对于登录用户而言,静态页面不起作用。
这是我所看到的。 122个查询,在db时间内花费了7.8秒!此外,您可以看到所有查询都非常快(~0.05秒)。因此缓存查询不会有帮助
我使用bluehost部署和mysql db。
什么是优化此功能的最佳方式。有没有办法在mysql或其他一些优雅的解决方案上并行运行所有查询?
我正在考虑使用rails在heroku上构建它,但是我们目前没有足够的时间,所以我们必须想出一种优化db的方法。
答案 0 :(得分:1)
此外,您可以看到所有查询都非常快
那些查询不是那么快。 0.1s
对选项表进行简单查找非常慢。
您发布的图片中的所有查询都在选项表中。我不确定您的大多数查询是否都是选项查询,但如果您想减少选项查询的总数,可以使用update_option
上的autoload
参数或{{3} }。来自文档:
$ autoload
(字符串)(可选)此选项是否应由函数add_option
自动加载(在每个页面加载时将选项放入对象缓存中)?有效值:是或否。
如果您自动加载选项,则会在一个查询中提取所有内容。这将减少查询总数,但如前所述,您的查询开始时不应花费那么长时间。
对于现有选项,您必须先删除它们,然后使用autoload
参数重新添加它们:
$val = get_option('some_option');
delete_option('some_option');
update_option('some_option', $val, true);
默认情况下,当您创建选项时,它们会被设置为自动加载,因此您有很多不自动加载的选项有点奇怪。