【发布时间】:2018-03-14 18:41:29
【问题描述】:
自上周三以来,由于 MySQL 查询,我的网站出现了大量性能问题...
在 DB 中,我有 20.000 个帖子和大约 180.000 个元行。
查询如下:
SELECT t.*, tt.*, tr.object_id
FROM az2_terms AS t
INNER JOIN az2_term_taxonomy AS tt
ON t.term_id = tt.term_id
INNER JOIN az2_term_relationships AS tr
ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN ('znacka', 'model')
AND tr.object_id IN (27130, 27290, 27822, 27899, 30862, 33536, 33721, 34901, 37448, 37482, 37496, 37522, 37572, 37580, 37742, 37750, 38160, 38165)
ORDER BY t.name ASC
需要将近 20 秒才能完成,这使网站完全无法使用。 我已禁用所有 WP 插件,更改了主题,但没有任何帮助。
我尝试在 MyAdmin 中进行分析,第一次运行大约需要 20 秒,第二次运行几乎是即时的。
有什么想法吗?
【问题讨论】:
-
您忘记将
*放在t.和tt.之后(或所需的列,如果您不想获取所有表列)。还要确保您的表az2termtaxonomy和az2termrelationships中有索引在正确的位置 -
对不起,自从我的 ISP 这样做以来,它已经从这些字符中删除了。查询本身运行良好,但需要很长时间
-
你有很多帖子和 post_meta 信息。但是此查询与帖子无关,而是与此 aztaxonomy 子系统有关。请看这个,特别注意查询性能部分。 meta.stackoverflow.com/a/271056 请edit 您的问题提供更多详细信息?如果这是来自插件,那么您的插件供应商可能会比我们获得更好的运气。
-
请为 3 张桌子提供
SHOW CREATE TABLE。修复索引可能很简单。
标签: mysql wordpress performance query-performance