問題タブ [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 - 2 つの画像をピクセルごとに比較し、画像の汚れた部分から新しい画像をフレーム化する方法
robot.screenCapture()
と frameを使用して画面をキャプチャしていますbufferedImage1
。繰り返しますが、デスクトップの画面とフレームをキャプチャしていますbufferedImage2
。
bufferedImage1
これらの 2 つの画像 (とbufferedImage2
) をピクセルごとに比較する方法を教えてください。違いがある場合、異なる部分をどのようにフレーミングしますか?
ruby-on-rails - ruby では、特定のアクティブ レコード呼び出しを設定してダーティを読み取ることが可能です。
私はかなり大きなデータベースを見ています..製品レコードに輸出フラグがあるとしましょう。
フラグが false に設定されている製品の推定数が必要な場合は、 Product.where(:exported => false).count.. のような呼び出しを行うことができます。
私が抱えている問題は、100万個の製品のテーブルが書き込まれているため、カウントにも時間がかかることです. より具体的には、輸出が行われており、私が数えたい値は常に変化しています。
だから私はテーブルでダーティリードをしたいのですが...常にダーティリードではありません。そして、この接続でのデータベースへの後続のすべての呼び出しがダーティになることを100%望んでいません。
しかし、この 1 回の呼び出しについては、私が望むのはダーティです。
ああ.. ruby 1.9.3 heroku と postgresql に言及する必要があります。
今..カウントを取得する別の方法が見つからない場合は、それを試すことに興奮します。
OH SNOT 最後にもう 1 つ.. この例は不自然です。
java - db ロックを回避する方法
私はゲームのバックエンドに取り組んでいます。プレイヤーはまずデータベースに保存されているチケットを購入し、次にプレイして特定の賞品を獲得できます。各プレイヤーは最大 60 枚のチケットを購入できます。
ゲームごとの合計チケット数の上限を設定する新しい要件が登場しました - 10 000 チケット。実装には、購入エンドポイントに、その時点で購入したチケットの総数 + 現在の購入に必要なチケットの数が、そのゲームのチケットの最大数以下であることを確認するテストを追加する必要があります。受け付けます。
問題は、チケット テーブルの count を使用して現在の購入済みチケット数を計算すると、その間に他のプレイヤーがチケットを購入した可能性があるため、返される値が古い可能性があることです。
考えられる解決策は、購入中にチケット テーブルをロックすることですが、これはパフォーマンスとユーザー エクスペリエンスに悪影響を及ぼす可能性があります。違う考えがあれば教えてください。
spring - SpringバッチJdbcPagingItemReaderにコミットされていないレコードがありません
バッチには 4 つのステップがあります 1. いくつかの基本的なタスクを実行します 2. 入力テーブルからレコードを取得 -> プロセス -> 出力テーブル 3. エラー数を検証し、入力テーブルと出力テーブルのレコード数を確認します。4. out テーブルからレコードを取得し、ステータスをビジネス テーブルに更新します。
out テーブルのレコード数が正しくなるという問題がありますが、ステップ 4 の完全なレコードではレコードが少なくなります。私はOracleを使用しているので、レコードがプルされたときにコミットが行われなかったことが原因だと感じています。
誰かが同様の問題に直面している場合は提案してください。
構成は次のとおりです。
情報源
sql-server - SQL サーバーでダーティ リードを回避する最善の方法
他の投稿で、SQLサーバーでは読み取りを別の読み取りでロックできないことがわかりました。だから私は次のようにします
他の効率的な方法はありますか?
アップデート
現在のトランザクションがコミットされるまで、他のトランザクションが ACCOUNT 'XXXXXXXXX' の BALANCE を読み取ることができないように、DUMMYCOLUMN でこれらの更新を行うだけです。私の目的は、アカウント「XXXXXXXXX」の残高を読み取り、いくつかの検証を行い、残高を更新することです。最初の更新を省略すると、トランザクション中に別のトランザクションで BALANCE が読み取られます。UPDATE によって行をロックすることでこれを防ぎ、その行を更新せずに行をロックする他の方法があるか知りたいですか?
sql-server-2008 - rowversion 列の値はいつ更新されますか?
rowversion 列を持つテーブルがあり、次のように更新されるとします。
テーブル WITH(NOLOCK) に対してクエリを実行するとどうなりますか? クエリの結果が "Bob" (古い値) と "EFGH" (新しい行バージョン) になる可能性はありますか?
基本的に、私が求めているのは、rowversion が実際に更新されるのはいつですか? 他のすべての列が更新された後、rowversion 列が常に更新されるという保証はありますか?