类别页面不工作Magento 2超过1300万产品

问题描述 投票:0回答:1

我遇到了一个问题,Magento 2拥有1300多万件产品。我们设法上传了1300万个产品,虽然速度很慢,但它的工作方式与索引,产品页面和搜索页面相似。 enter image description here

我的前端类别页面在等待将近2分钟内存耗尽后现在没有打开我们已经尝试分配18GB内存但是它被卡在此查询上并且通过错误内存耗尽。

SELECT  1 AS status, e.entity_id, e.attribute_set_id, e.type_id,
        e.created_at, e.updated_at, e.sku,
        cat_index.position AS cat_index_position,
        stock_status_index.stock_status AS is_salable
    FROM  catalog_product_flat_1 AS e
    INNER JOIN  catalog_category_product_index_store1 AS cat_index
           ON cat_index.product_id=e.entity_id
      AND  cat_index.store_id=1
      AND  cat_index.category_id='4'
    INNER JOIN  cataloginventory_stock_status AS stock_status_index
           ON e.entity_id = stock_status_index.product_id
      AND  stock_status_index.website_id = 0
      AND  stock_status_index.stock_id = 1
    WHERE  (stock_status_index.stock_status = 1)

任何人都可以建议我如何克服这个问题或加快进程和MySQL查询我应该做什么架构级别的更改,使其工作在前端的类别列表页面。我知道这是一个巨大的数据,但我们要求拥有这么多产品。我们有一个非常好的服务器

  • 英特尔至强E5-2689v4
  • 128 GB RAM
  • 1200 GB数据存储 我已经启用了平面目录产品和平面目录类别。
mysql performance magento magento2
1个回答
0
投票

添加这些复合索引:

stock_status_index:  (stock_status, website_id, stock_id, product_id)
e:  (entity_id)  -- unless that is the PRIMARY KEY
cat_index:  (product_id, store_id, category_id)

如果那些没有帮助,请提供EXPLAIN SELECT ...SHOW CREATE TABLE

更多索引技巧:http://mysql.rjweb.org/doc.php/index_cookbook_mysql

© www.soinside.com 2019 - 2024. All rights reserved.