在Grails中,数据库恢复后的Hibernate性能



我不是很了解Hibernate,所以我不知道去哪里找答案。

我有一个系统,它运行一些计算,每天做一个数据库备份,所以我的系统每天都备份。

这工作得非常快,但当我恢复这些日常备份之一时,(在Mysql或H2DB中)然后性能显著下降。

Hibernate有一个Context,还有刷新等等…

谁能解释一下我该怎么做?

我经常从MySQL备份中恢复,并没有注意到Grails性能下降。我怀疑你在Grails/Hibernate上不需要做什么……除非你让Grails运行并恢复它下面的DB,这是我从未尝试过的。在这种情况下,您可能想尝试像下面这篇文章那样清理hibernate会话:

def propertyInstanceMap = org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP
private void cleanUpGorm() {
    def session = sessionFactory.currentSession
    session.flush()
    session.clear()
    propertyInstanceMap.get().clear()
}

最新更新