我的网站生成大量数据库查询,每个用户生成6个查询。我试图细化它的来源,但我的知识不足以找到。如果有人可以帮助我如何改进该查询的来源?
我使用过:
- 乔姆拉 2.5.8
- 主要成分:CB,库内纳,SH404SEF,K2,科门托,乌德IM PMS
- 主要模块: 加维克新闻PRO4
- 阻止垃圾 IP
- 阻止机器人
为每个用户生成的查询:
SELECT *
FROM `_users`
WHERE `id` = 15
SELECT `g`.`id`,`g`.`title`
FROM `_usergroups` AS g
INNER JOIN `_user_usergroup_map` AS m ON m.group_id = g.id
WHERE `m`.`user_id` = 15
SELECT b.id
FROM _user_usergroup_map AS map
LEFT JOIN _usergroups AS a ON a.id = map.group_id
LEFT JOIN _usergroups AS b ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE map.user_id = 15
SELECT a.rules
FROM _assets AS a
WHERE (a.id = 1)
GROUP BY a.id, a.rules, a.lft
SELECT id
FROM _assets
WHERE parent_id = 0
SELECT b.rules
FROM _assets AS a
LEFT JOIN _assets AS b ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE (a.id = 1 OR a.parent_id = 0)
GROUP BY b.id, b.rules, b.lft
ORDER BY b.lft
每次使用都会有相当数量的查询,因为您使用的是CB和Kunena等扩展,其中包括对每个用户的查询。除非您收到来自主机的消息,指出正在使用过多内存或流量过多,否则您应该没问题。
Joomla是一个CMS,因此当有相当数量的用户时,这些事情需要预料到。
实际上,我们刚刚修复了规则字段中生成过多查询的错误。 它将在下周发布的 3.0.4 中修复,并在另一个 2.5 版本发布时修复。同时,您可以自己修复它。
https://github.com/joomla/joomla-platform/pull/1792
但这不是你要问的。查询的数量并不是真正的问题(这是完全合理的),问题是它们有多快。