我正在研究数据库中潜在的并发问题,所以我去阅读了。我找到了http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/c0005267.htm,它提到了对未提交数据的访问。
访问未提交的数据。应用程序 A 可能会更新数据库中的值,而应用程序 B 可能会在提交之前读取该值。然后,如果 A 的值后来没有被提交,而是被撤销,那么 B 执行的计算是基于未提交的(并且可能是无效的)数据。
什么...我认为其他会话(相同的应用程序甚至相同的线程)可以读取尚未提交的数据?我认为只有将数据写入未提交事务的连接/会话(我不确定我的术语)才能读取未提交的数据。
其他线程真的可以读取到尚未提交的数据吗?我打算使用 mysql 但我可能会使用 sqlite