2016-11-28 66 views
0

只是一個理論問題。我想在生產數據庫(Microsoft SQL Server)中大量處理大量數據,因此執行時間非常重要,因爲生產數據庫不能長時間停機。 該腳本有點複雜,包含for循環。 使用JPA和Hibernate運行腳本會更快,或者我應該更喜歡TSQL腳本並直接在數據庫中運行它?Java或TSQL中的Hibernate/JPQL中的腳本將以更快的速度執行

TSQL循環仍然會有循環,所以它會影響性能?它會更快嗎?

+1

我敢打賭,腳本可以用比T-SQL更少的for循環來完成,因爲T-SQL有一些非常好的解決方案來對整個數據集而不是每行應用操作(就像你在JPQL或任何編程語言中那樣)如果你發佈了你有的腳本並且詢問如何優化它,那麼在StackOverflow上有很多專業知識可以幫助你實現它:) – funkwurm

回答

1

對於批量處理數據,總是建議使用tsql運行DB本身附近的查詢。使用jpql包括將查詢解析爲本機DB查詢的開銷,並且通常還考慮到網絡延遲(可能很微小,但對於大數據可能起關鍵作用),這是因爲通常DB和應用程序不共享相同的服務器。

+0

實際上,它們不共享同一臺服務器,所以你肯定會有網絡延遲 – jenny

相關問題