Jam*_*hon 5 java database persistence hibernate jpa
我正在使用Hibernate支持的JPA作为我的持久层.我有一个多线程进程,它聚合来自Soap调用的数据,然后在数据库中存储一行.该过程通常最终会插入大约700行,大约需要1-3个小时,而Soap调用是主要的瓶颈.
在整个过程中,我插入的表会锁定,并且不会及时返回select语句.
这是SQL服务器错误:
错误消息:超出锁定请求超时时间.
如何在这个漫长的过程中避免锁定我的数据库表?
您是否使用同一事务插入所有 700 行?
你的交易边界在哪里?如果您可以降低事务边界,即仅事务实际的插入操作,以便短暂保留锁。
如果您需要使整个过程保持原子性,则可能需要将其写入临时表,然后执行批量插入(快速)以将其插入主表中。
归档时间: |
|
查看次数: |
7536 次 |
最近记录: |