Skip to main content

加快产品检索

项目描述

生产/稳定 许可证:LGPL-3 OCA/产品属性 在 Weblate 上翻译我 试试我的 Runbot

此模块改进了在安装和配置语言时检索产品。默认行为是按名称订购产品,在这种情况下会很慢,因为 Odoo 将处理产品名称来翻译它。

警告:这会改变订购产品的方式 订购产品的方式是“default_code, id”而不是“default_code, translate(name), id”

因为 Odoo 需要以下查询来获取已翻译的(名称)

SELECT "product_product".id
FROM   "product_product"
LEFT JOIN "product_template" AS "product_product__product_tmpl_id"
    ON ( "product_product"."product_tmpl_id" =
        "product_product__product_tmpl_id"."id" )
LEFT JOIN (SELECT res_id,
                    value
            FROM   "ir_translation"
            WHERE  type = 'model'
                    AND name = 'product.template,name'
                    AND lang = 'es_MX'
                    AND value != '') AS
            "product_product__product_tmpl_id__name"
    ON ( "product_product__product_tmpl_id"."id" =
                    "product_product__product_tmpl_id__name"."res_id" )
WHERE  ( "product_product"."active" = true )
ORDER  BY "product_product"."default_code",
        Coalesce("product_product__product_tmpl_id__name"."value",
        "product_product__product_tmpl_id"."name"),
        "product_product"."id"
LIMIT  10
使用生产数据库执行此查询,结果是:
  • 规划时间:1.088 ms

  • 执行时间:1027.282 毫秒

  • 总时间:1028.37 毫秒

太慢了。

使用新顺序:“default_code, id”现在执行以下查询:

SELECT "product_product".id
FROM   "product_product"
WHERE  ( "product_product"."active" = true )
ORDER  BY "product_product"."default_code"
LIMIT  10
新结果是:
  • 规划时间:0.095 ms

  • 执行时间:0.529 毫秒

  • 总时间:0.624 毫秒

它快 1.65k 倍

是因为字段有参数translate=True

所以,它会处理原始值来翻译它

然后,它将按其他表的动态计算的列排序

default_code 是索引的列,因此结果更快

如果没有这个模块,打开/shop页面可能会消耗 7.5 秒而不是 1.2 秒

即使您不需要,Odoo 也会使用 _order 参数。
  • products.search(...).write(...)

  • 浏览()。* 2many_product_ids.ids

有关此的更多信息:

https://github.com/odoo/odoo/pull/61618

目录

<nav class="contents local" id="contents" role="doc-toc"> </nav>

用法

只需安装该模块,您就应该在从网站商店或产品列表视图中检索产品时看到性能提升。

错误追踪器

在GitHub 问题上跟踪错误。如果遇到问题,请检查您的问题是否已被报告。如果您首先发现它,请通过提供详细且受欢迎的 反馈来帮助我们粉碎它。

不要就技术问题的支持或帮助直接联系贡献者。

学分

作者

  • 沃苏

贡献者

其他学分

该模块由以下人员创建和维护:

  • Vauxoo, SA de CV

Vauxoo, SA de CV

维护者

该模块由 OCA 维护。

Odoo 社区协会

OCA 或 Odoo 社区协会是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。

当前维护者

WR-96 moylop260 luisg123v

该模块是GitHub 上OCA/产品属性项目的一部分。

欢迎您贡献。要了解如何,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

odoo12_addon_product_order_noname-12.0.2.0.0-py3-none-any.whl (25.5 kB 查看哈希

已上传 py3