我最近将一家商店从共享服务器迁移到了VPS。将所有文件复制到新服务器并导入数据库。完成了初始设置。现在该网站的主页正在加载,但所有其他页面都显示数据库异常。它显示了一个很长的查询。有人可以给我一些建议。我的mysql连接超时是60秒。查询太长,以至于在此处发布会冻结浏览器。我发布了该sql查询的遗漏。有人能建议我这件事吗?
SELECT product_shop.id_product, MAX(product_attribute_shop.id_product_attribute) id_product_attribute
FROM `awfps_product` p
INNER JOIN awfps_product_shop product_shop
ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)
LEFT JOIN `awfps_product_attribute` pa ON (product_shop.id_product = pa.id_product)
LEFT JOIN awfps_product_attribute_shop product_attribute_shop
ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 1 AND product_attribute_shop.default_on = 1)
WHERE product_shop.`active` = 1
AND (( product_shop.`id_product` = 38) OR( product_shop.`id_product` = 40) OR( product_shop.`id_product` = 41)................all products
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `awfps_category_group` cg
LEFT JOIN `awfps_category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` IN (3)
)
AND product_shop.`visibility` IN ("both", "catalog")
GROUP BY product_shop.id_product
ORDER BY RAND() LIMIT 1
答案 0 :(得分:0)
我得到了解决方案。我搜索了调试工具中的错误并找到了一些线索。错误是针对特殊块模块。如果您有许多特殊类别的产品,或者换句话说,如果您对许多产品应用了目录价格折扣,那么特殊块模块将检索具有相同类别的所有产品,并选择要在特殊块中显示的特定产品。禁用它,它正在工作。这部分代码可能需要修改。我曾尝试创建一个问题,但在写这篇文章时没有成功。可以稍后创建。