Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

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



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

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

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


  • 管理员

    这是因为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'
        ...
    


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


Log in to reply