问题标签 [dirtyread]
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.
database - 在 Yii 中,我的模型可以在创建、更新和删除的同时从数据库视图中读取数据吗?
在 Yii 中,我的模型可以在创建、更新和删除的同时从数据库视图中读取数据吗?
基本上,我希望将任何 SELECT 语句定向到特定的数据库视图(可能带有一些额外的聚合列,或者强制执行脏读)。
这可能吗,怎么做?
java - 如何在java中捕获屏幕的脏部分?
我正在开发 RDP 应用程序。服务器必须发送屏幕的脏部分,客户端必须更新图像的那部分。我可以使用 Robot 类发送桌面的总屏幕为
如果我想将屏幕的脏部分发送给客户端,那么如何识别桌面屏幕的脏区域并捕获该屏幕。
请告诉我在java中识别屏幕脏区的过程。
java - 如何逐像素比较两个图像并从图像的脏部分帧新图像
我正在使用robot.screenCapture()
和 frame捕获屏幕bufferedImage1
。我再次捕获桌面屏幕和框架bufferedImage2
。
请告诉我如何逐个像素地比较这两个图像(bufferedImage1
和)。bufferedImage2
如果有任何差异,那么如何框出不同的部分?
ruby-on-rails - 是否可以在 ruby 中设置特定的活动记录调用来读取脏
我正在查看一个相当大的数据库。假设我在产品记录上有一个导出标志。
如果我想估计标志设置为 false 的产品数量,我可以调用类似 Product.where(:exported => false).count.. 的调用。
我遇到的问题是即使计数也需要很长时间,因为正在写入 100 万个产品的表。更具体地说,出口正在发生,我有兴趣计算的价值在不断变化。
所以我想在桌子上做一个脏读……不是总是脏读。而且我 100% 不希望在此连接上对数据库的所有后续调用都是脏的。
但是对于这个电话,脏是我想要的。
哦.. 我应该提到 ruby 1.9.3 heroku 和 postgresql。
现在..如果我错过了另一种计数的方法,我会很高兴尝试一下。
哦,鼻涕最后一件事..这个例子是人为的。
db2 - DB2 Read committed without locking?
We have a transaction that is modifying a record. The transaction must call a web service, rolling back the transaction if the service fails (so it can't commit it before hand). Because the record is modified, the client app has a lock on it. However, the web service must retrieve that record to get information from it as part of it's processing. Bam, deadlock.
We use websphere, which, for reasons that boggle my mind, defaults to repeatable read isolation level. We knocked it down to read_committed, thinking that this would retrieve the row without seeking a lock. In our dev environment, it seemed to work, but in staging we're getting deadlocks.
I'm not asking why it behaved differently, we probably made a mistake somewhere. Nor am I asking about the specifics of the web service example above, because obviously this same thing could happen elsewhere.
But based on reading the docs, it seems like read_committed DOES acquire a shared lock during read, and as a result will wait for an exclusive lock held by another transaction (in this case the client app). But I don't want to go to read_uncommitted isolation level because I don't want dirty reads. Is there a less extreme solution? I need some middle ground where I can perform reads without any lock-waiting, and retrieve only committed data.
Is there such a goldilocks solution? Not too deadlock-y, not too dirty-read-y? If not in siolation level, maybe some modifier I can tack onto my SQL? Anything?
java - 如何避免数据库锁
我正在开发游戏的后端。玩家首先购买他们的门票,这些门票存储在数据库中,然后他们玩并可以获得某些奖品。每个玩家最多可以购买 60 张门票。
出现了一个新要求,为每场比赛的门票总数设定了一个上限——10 000 张门票。该实施将涉及向购买端点添加一个测试,检查当时购买的门票总数+当前购买所需的门票数量小于或等于该游戏的最大门票数量,以便购买被接受。
问题是,通过使用tickets表上的count计算当前购买的门票数量,返回的值可能是过时的,因为同时其他玩家可能已经购买了门票。
一种可能的解决方案是在购买期间锁定门票表,但这会对性能和用户体验产生负面影响。如果您有不同的想法,请告诉我。
hibernate - 脏读在休眠中是如何工作的
根据 Manning 的 Java Persistence with Hibernate:
如果一个事务读取了另一个尚未提交的事务所做的更改,则会发生脏读。这是危险的,因为其他事务所做的更改稍后可能会回滚,并且第一个事务可能会写入无效数据。
如果从数据库中检索到一条记录,则在持久状态下会创建一个相应的对象,并且无论进行任何更改,都会首先将其写入持久对象,从而使其变脏。
现在我的问题是,如果其他事务正在读取相同的记录,那么它是否会从持久状态读取记录,即第一级缓存(目前是脏的),或者它会从数据库中检索记录。
spring - Spring批处理JdbcPagingItemReader缺少未提交记录
批处理有 4 个步骤 1. 执行一些基本任务 2. 从输入表中提取记录 -> 处理 -> 输出表 3. 验证错误计数,检查输入和输出表中记录的计数。4.从表中拉取记录,更新状态为业务表。
我有一个问题,即输出表中的记录数正确,但是当第 4 步完整记录的记录较少时。当我使用 Oracle 时,我觉得它是由于在提取记录时未完成提交。
请建议是否有人面临类似问题。
配置如下:
数据源
sql-server - 避免 SQL Server 中脏读的最佳方法
我在其他帖子中发现,在 SQL Server 中,一次读取不能被另一次读取锁定。所以我做如下
有没有其他有效的方法???
更新
我只是在 DUMMYCOLUMN 上进行这些更新,以便在当前事务提交之前没有其他事务可以读取 ACCOUNT 'XXXXXXXXX' 的余额。我的目的是读取帐户“XXXXXXXXX”的余额,进行一些验证并更新余额。如果我省略了第一次更新,那么在我的事务期间另一个事务将读取 BALANCE。我通过 UPDATE 锁定行来防止这种情况,并且想知道是否有其他方法可以在不更新该行的情况下锁定该行?
sql-server-2008 - rowversion 列的值何时更新?
如果我有一个带有 rowversion 列的表,它会按如下方式更新:
如果有人用 WITH(NOLOCK) 查询表会发生什么?查询结果是否有可能是“Bob”(旧值)和“EFGH”(新行版本)?
本质上,我要问的是 rowversion 什么时候真正得到更新?是否可以保证 rowversion 列在所有其他列都更新后总是会更新?