【发布时间】:2019-08-01 07:05:09
【问题描述】:
jpql 删除查询在过去 4 小时内处于活动状态。当我尝试直接在数据库控制台上执行相同的查询时,执行大约需要 30 秒。要删除的总数据最大为 100000。我在 id 上有索引。我无法理解。任何建议,将不胜感激。 谢谢
@Modifying
@Query("DELETE FROM IoEntity WHERE Id = :id")
void deleteAllById(@Param("id") UUID id);
【问题讨论】:
-
您的数据库中是否有待处理的“提交”?要检查,只需在数据库控制台中提交。
-
可能该表一直被其他进程阻塞。在运行查询检查之前尝试隔离数据库。
-
@RiyaGeorge:是的,它没有以某种方式提交。我们能否以某种方式确保它始终使用 jpa 提交?
-
@JosemyAB:不,它没有被任何其他进程阻止。但它阻止了其他查询运行,因为删除创建了锁。
标签: java hibernate spring-boot jpa jpql