2012-09-24 16 views

回答

2

是的可能是索引,但通常最大的打擊是因爲休眠會話膨脹出來,描述得很好Ted Naleid。如果這不起作用,你告訴我們更多關於你的情況是你做批量插入還是你的網站從不同的請求等獲得10000插入?

我解決此得到了由具有被稱爲每隔一段時間特德提出了一種簡單的方法(例如,每1000行插入)

def cleanUpGorm() { 
     def session = sessionFactory.currentSession 
     session.flush() 
     session.clear() 
     propertyInstanceMap.get().clear() 
    } 
+0

您應該澄清,此方法僅適用於批量插入的情況。 –

0

你首先要確定它是否是一個DB的問題或Grails的/休眠問題;我將首先輸出Hibernate在Datasource.groovy中生成的SQL,然後查看是否有任何異常情況發生。您還可以使用數據庫供應商提供的各種SQL分析工具來查看正在進行的操作;例如,您可以從SQL中生成一個EXPLAIN PLAN,以查看插入是否由於沒有正確的索引而變得很慢。

當談到處理性能問題時,您需要深入研究並找出原因的具體證據,其他一切只是猜測。