我有一個簡單的問題,我無法在網上找到答案。以下哪個域模型更高效:Grails在域模型中引用對象
class Text {
User author
static constraints = {}
}
class Text {
String author
static constraints = {}
}
用戶對象具有用戶名作爲其中的字符串。但哪個更有效率?要保存字符串並搜索對象或保存對象?
我有一個簡單的問題,我無法在網上找到答案。以下哪個域模型更高效:Grails在域模型中引用對象
class Text {
User author
static constraints = {}
}
class Text {
String author
static constraints = {}
}
用戶對象具有用戶名作爲其中的字符串。但哪個更有效率?要保存字符串並搜索對象或保存對象?
第一個選項會給出更精確的結果,而你會使用標準的查詢,這將有效地過,它更易於使用,同時查詢
好吧,如果你使用JVM來比較對象哈希碼而不是比較字符串它往往會讓你的生活更輕鬆,尤其是如果你的應用程序增長的話。但是,如果這個應用程序沒有增長的可能性,那麼就沒有理由只在其中使用String作者的對象(這只是另一個沒有任何目的的間接方向)。 爲了提高性能,使用User會更好,因爲默認情況下,它使用lazy loading以一對一的關聯關係,並且當您加載Text對象時,User對象將不會被加載,所以當您請求時只有User。除了它更好的OOP。 如果您正在討論在這些域中查詢作者的性能,那是一回事。