跳转到主要内容

加快产品检索

项目描述

Production/Stable License: LGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

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

警告:这改变了产品的排序方式,现在按“default_code, id”排序,而不是“default_code, translated(name), id”

因为Odoo需要以下查询来获取translated(name)

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毫秒

  • 执行时间: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毫秒

  • 执行时间:0.529毫秒

  • 总时间:0.624毫秒

它快了1.65k倍

这是因为字段name有参数translate=True

因此,它将处理原始值进行翻译

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

default_code是一个索引列,所以结果更快

打开/shop页面可能需要7.5秒,而不是使用此模块的1.2秒

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

  • browse().*2many_product_ids.ids

有关此信息的更多信息,请参阅

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

目录

用法

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

错误跟踪器

错误在GitHub Issues上进行跟踪。如果遇到问题,请检查您的错误是否已报告。如果您是第一个发现的人,请通过提供详细且受欢迎的反馈来帮助我们解决问题。

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

致谢

作者

  • Vauxoo

贡献者

其他信用

此模块由

  • Vauxoo, S.A. de C.V.

Vauxoo, S.A. de C.V.

维护者

维护。

Odoo Community Association

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

当前维护者

WR-96 moylop260 luisg123v

此模块是GitHub上的OCA/product-attribute项目的一部分。

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

项目详情


下载文件

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

源代码发行版

此版本没有可用的源代码发行版文件。请参阅生成发行版存档的教程。

构建发行版

odoo_addon_product_order_noname-15.0.1.0.0.8-py3-none-any.whl (27.9 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面