Java或TSQL中的Hibernate/JPQL中的脚本将以更快的速度执行

问题描述:

只是一个理论问题。我想在生产数据库(Microsoft SQL Server)中大量处理大量数据,因此执行时间非常重要,因为生产数据库不能长时间停机。 该脚本有点复杂,包含for循环。 使用JPA和Hibernate运行脚本会更快,或者我应该更喜欢TSQL脚本并直接在数据库中运行它?Java或TSQL中的Hibernate/JPQL中的脚本将以更快的速度执行

TSQL循环仍然会有循环,所以它会影响性能?它会更快吗?

+1

我敢打赌,脚本可以用比T-SQL更少的for循环来完成,因为T-SQL有一些非常好的解决方案来对整个数据集而不是每行应用操作(就像你在JPQL或任何编程语言中那样)如果你发布了你有的脚本并且询问如何优化它,那么在*上有很多专业知识可以帮助你实现它:) – funkwurm

对于批量处理数据,总是建议使用tsql运行DB本身附近的查询。使用jpql包括将查询解析为本机DB查询的开销,并且通常还考虑到网络延迟(可能很微小,但对于大数据可能起关键作用),这是因为通常DB和应用程序不共享相同的服务器。

+0

实际上,它们不共享同一台服务器,所以你肯定会有网络延迟 – jenny