跳转到主要内容

加速产品检索

项目描述

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

此模块在安装和配置了语言时改进了产品的检索。默认行为是按名称排序产品,在这种情况下可能会很慢,因为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 ms

  • 执行时间:1027.282 ms

  • 总时间:1028.37 ms

它非常慢。

使用新的排序:“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 ms

  • 总时间:0.624 ms

它快了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

项目详情


下载文件

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

源代码分发

此版本没有提供源代码分发文件。请参阅生成分发存档的教程

构建分发

odoo13_addon_product_order_noname-13.0.2.0.0-py3-none-any.whl (25.5 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

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