跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. search 出来的结果 第一次访问属性(字段) 为什么用了3秒 ?? 求解 求解

search 出来的结果 第一次访问属性(字段) 为什么用了3秒 ?? 求解 求解

已定时 已固定 已锁定 已移动 Odoo 新手求助
3 帖子 2 发布者 1.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • L 离线
    L 离线
    like_odoo
    发表于 最后由 编辑
    #1

    第一次访问的时候 用了三秒 为什么。之后的 for 新对象 访问 都是瞬间出来 这是哪里的问题 求帮助!!!

    cc79ade0-e5ea-47c1-a43d-75f8422c184d-image.png

    841a2f46-a54b-409a-aeb1-b07c539611aa-image.png

    1 条回复 最后回复
    0
    • D 离线
      D 离线
      digitalsatori
      管理员
      发表于 最后由 digitalsatori 编辑
      #2

      这是因为Odoo为了提高整体性能所采用的的prefetching预取值机制造成的。当访问某个对象的属性时, 比如
      task_one.rt_is_sure_time
      Odoo内部事实上对task_all_list所有对象都做了对属性rt_is_sure_time以及其它字段属性的预取值操作,如果task上某个字段属性有对应很多的值,就有可能造成有一个较长的访问时间。
      你可以用下面的代码测试一下关闭预取值操作:

      for task_one in task_all_list.with_context(prefetch_fields=False):
          print time.time(), 'start'
          ...
      

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • L 离线
        L 离线
        like_odoo
        发表于 最后由 like_odoo 编辑
        #3

        非常感谢 确实是快了 第一次是0.3秒 之后基本不耗时 ,但我有一个疑问 取消了预取值机制 那么for中 每次取值时耗时 他怎么处理?

        1 条回复 最后回复
        0

        你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

        厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

        有了你的建议,这篇帖子会更精彩哦 💗

        注册 登录
        回复
        • 在新帖中回复
        登录后回复
        • 从旧到新
        • 从新到旧
        • 最多赞同


        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组