问题标签 [read-uncommitted]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
534 浏览

java - Postgres - 杀死未提交的事务

我已经阅读了一些方法来做到这一点(即查询 pg_stat_activity 表以获取要杀死的 pid),但我没有在这些查询中返回数据。在 MSSQL 等其他 DBMS 中,我至少可以看到未提交的数据和/或使用分析器来查看哪些连接处于活动状态。使用 postgres,我只知道是这种情况,因为我正在运行一个 java 应用程序,它偶尔会意外关闭,这会阻止应用程序提交或回滚其更改。当我尝试运行该应用程序时,我看到未提交但仍以某种方式处于活动状态的重复键数据的错误。我已经停止了我的 postgres 实例,但是再次打开它后仍然遇到了问题。有没有另一种方法来查看与我的数据库服务器有挂起连接的任何东西并杀死它?

0 投票
2 回答
1266 浏览

java - 我们如何使用 JPA 和 Hibernate 设置 Read Uncommitted 隔离级别?

在他的名著《Java persistence with Hibernate》中,我们可以读到以下内容:

“持久性上下文是持久性实体实例的缓存......自动脏检查是这种缓存的好处之一。另一个好处是实体的可重复读取和工作范围缓存单元的性能优势......你不需要做任何特别的事情来启用持久性上下文缓存。它总是打开的,并且由于所示的原因,不能被关闭

这是否意味着使用 Hibernate 永远无法实现“读取未提交”的事务隔离级别?

0 投票
1 回答
56 浏览

entity-framework - 所有选择查询的 EF Read-Uncommitted

由于我的表记录存在非常持久的锁定问题......

在我的带有 SQL-Server 数据库的 ASP.Net MVC Web 应用程序中对 Entity Framework 6 的所有选择查询使用“未提交”事务隔离级别是否正确?

我应该考虑哪些危险、限制和考虑因素?

0 投票
0 回答
178 浏览

mysql - MySQL 中的 NOLOCK 等效项

我试图了解 MySQL 中 NOLOCK 的等价物。我在Stack Overflow上找到了一个答案,指出

在 MYSQL 中是一样的

在 SQL Server 中。我尝试了一些研究,但我找到了多种解决方法,我想确保我不会破坏任何东西,尤其是我正在处理的表包含近十亿行。

感谢您的任何反馈或建议。

0 投票
0 回答
23 浏览

tsql - 谓词 CONTAINS 不返回带有 NOLOCK 的记录

我正在编写集成测试,为此我使用 TransactionScope(TransactionScopeAsyncFlowOption.Enabled)。我将一些数据添加到数据库(MS SQL Server),然后检查结果,比较它等。当测试通过时,新数据将不会保存在数据库中。所以这种方法总是很好用。当我调试测试时,我可以检查数据库中的新记录,例如

但是现在我在调试测试时需要检查 CONTAINS 谓词,例如

这个查询只返回我的数据库中的现有记录,但它不返回我在测试中添加的未提交记录。“姓氏”字段当然接受全文搜索。我已阅读有关谓词 CONTAINS 的信息,但没有找到答案。谓词包含可以处理未提交的记录吗?如果是,怎么做?

0 投票
0 回答
17 浏览

database - BASE 是否等于 READ UNCOMMITTED?

当遵守 ACID 时,我们能够选择我们想要的默认隔离级别,每个事务或每个会话。每个隔离级别以不同的方式处理锁定/阻塞。当使用不遵守 ACID 的系统(因此根据定义它们是 BASE)时,声称 BASE 环境中的数据库查询遵循 READ UNCOMMITTED 的锁定机制是否正确?

0 投票
0 回答
22 浏览

sql-server - Spring Data JPA 隔离级别不影响 SQLServer 查询

我有一个带有几个方法的@Service 层类,其中有@Transactional(isolation = Isolation.READ_UNCOMMITTED) 注释查询和@Transactional 注释写入事务。有时事务上会出现死锁,我可以在 SQLServer Profiler 死锁分析 XML 中看到,查询具有 READ_COMMITED 隔离级别。如何更改事务的隔离级别设置?欢迎任何帮助。

有这样的存储库:

有这样的日期服务层:

}

还有几个业务逻辑服务层实现:

有时我们会遇到死锁,当我们在 SQLServer 分析器中检查详细信息时,我们可以看到由 READ_UNCOMMITED 注释的查询方法在分析器 xml 中是 READ_COMMITED。

0 投票
1 回答
29 浏览

offset - 下一次轮询中未收到未提交的事件

对于手动偏移控制,我有一个 max.poll.records 设置为 1 和 enable.auto.commit 设置为 false 的消费者。但是,即使我没有调用 commitSync,后续轮询也会返回下一个事件。以下是详细信息,我在一个主题上产生了 4 个事件,在消费者中我没有为第三个事件提交我正在跳过 commitSync,我期待在下一次投票中返回第三个事件,但第四个事件已经返回。我很困惑 evet 3 是如何提交的。

链接KafkaConsumer<K,V>没有告诉如何停止偏移推进):我认为一些智能内部检测到 Event3 的无限轮询并返回 Event4 根据我的研究(谷歌和 Kafka 论坛),我希望 Event3 重播为它没有提交,但没有发生,请有人指出我正确的方向。

非常感谢