1

我正在运行耗时超过 10 秒的读写事务,并且它们正在超时(因ABORTED错误而失败)。有没有办法指定更长的超时时间?

4

1 回答 1

1

无法指定事务的超时时间,但您有几个选项:

  1. 您可以每隔 5-8 秒定期发出一个executeSql请求,以保持您的交易有效。你可以做一个简单的查询,比如 SELECT 1. 更多关于空闲交易的信息在这里
  2. 您可以使用只读事务而不是读写事务。只读事务没有超时,只有在删除基础会话时才会中止。(会话可以手动删除,也可以在大约一个小时的空闲时间后自动删除。)

你应该考虑是否真的需要这么长的读写事务。读写事务使用可以阻止其他事务进行的锁和其他资源。对于这种长期存在的读写事务,这通常是一种反模式。

于 2017-06-01T16:29:13.823 回答