我们在mariadb上使用spring(eclipselink)。我们的sql通过orm生成一个持久的db查询。所以我需要把它提炼成一个 nativequery
-这本身没什么大不了的。然而 Resultset
受到 LIMIT
我需要一个计数器来记录所有找到的记录。为了查询我为mariasql找到的总计数器,可以使用以下解决方案。
我的问题是:
单独查询这两个sql命令是保存还是用 UNION
合二为一?
这个问题的产生是因为在我的查询和 SELECT FOUND_ROWS()
另一个查询可能会干扰(来自同一微服务的请求)并稀释结果。
1条答案
按热度按时间ukdjmx9f1#
如果两个查询都在同一个事务中进行,innodb的mvcc应该保证结果不会受到其他事务的影响。
请参见:https://dev.mysql.com/doc/refman/8.0/en/innodb-multi-versioning.html