gpt4 book ai didi

performance - Grails 外键更新 - 性能更新对象

转载 作者:行者123 更新时间:2023-12-02 13:57:03 25 4
gpt4 key购买 nike

我正在创建很多对象,我正在尝试获得一些性能提升。目前我有一个 gorm 对象属性的分配,如果我可以手动设置外键,我可以获得更好的性能。

例如

def oldBook = Book.findByTitle("Of Mice and Men")
def newBook = new Book()
newBook.author = oldBook.author //This line could be faster

如果不必在 oldBook 上查找作者对象,该行可能会更快。理想情况下,这条线看起来更像这样。 (仅供引用这些实际上不起作用)
newBook.authorId = oldBook.authorId
// or
newBook.setAuthorId(oldBook.authorId)

像这样的事情在 grails 中是可能的吗?也许这是可能的,但很危险。我正在使用版本 grails 2.2.1、Hibernate 和 Oracle。我对此的唯一其他想法是我可以急切地加载作者对象。

最佳答案

这是你最好的选择:

newBook.author = Author.load(oldBook.authorId)

这利用了动态 fooId不会触发图书加载的属性 Author实例。使用 load()方法为 Author 创建代理只有 id值存储,只要 id被访问,不会有数据库命中来完全加载实例。这基本上使代理成为 FK 值的包装器。

关于performance - Grails 外键更新 - 性能更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com