rowlocking

    5

    1答えて

    次のクエリがMySQL 5.1のINNODBテーブルで実行された場合、私には不明です(MySQLドキュメントを読むことによって)バッチ内のすべての行を内部的に更新(合計5000件)するか、またはすべての行をロック解除します。データベースの負荷が非常に大きいので、これは非常に重要です。 UPDATE `records` INNER JOIN ( SELECT id, name FROM r

    7

    3答えて

    データベースにユーザー名が存在するかどうかを検索して、そのユーザー名をSELECTとINSERTステートメントの間に傍受せずに新しい行としてデータベースに挿入することはできますか? ほとんどの場合、存在しない行をロックしているように見えます。存在しない行をユーザー名"Foo"でロックして、データベースに存在するかどうかを確認し、中断することなくデータベースに挿入するようにします。 LOCK IN

    1

    2答えて

    SQL SERVERのトランザクションでSELECT文を使用して行をロックすることはできますか?私は行をロックしたいので、外部からの他のトランザクションはその行に到達できません。 トランザクションがコミットまたはロールバックされた後、その行を解放する必要があります。ここに私の意味は... BEGIN TRANSACTION TRAN1 SELECT * FROM HR.Employees WI

    0

    1答えて

    私は2つの更新クエリによって引き起こされたデッドロックについて調べます。いくつかの点がある、私は理解できません。 1.行ロック設定の順序? 2.更新実行時のプライマリインデックスとセカンダリインデックスのロック設定の順序は? 3. SHOW INNODB STATUSを表示すると、同時にロックされている必要がありますか? 4. 1つのロック構造体がいくつかの行をロックしたい場合、プロセスはアトミッ

    0

    1答えて

    ここでは簡単な質問/説明が必要です。私はかなりの可能性のあるレコードを同時に更新するDBテーブルを持っています。私はアプリケーションのためにZend Frameworkを使用していますが、これを避けるためには2つの方向について読んでいます。最初にテーブルをロックする(LOCK TABLES WRITE)かそのようなものが戻ってきて、それが最善の解決策です。 2番目はトランザクションです:$ db-

    1

    2答えて

    Teradata DWHからデータを取得するアプリケーションを開発しています。 DWHの開発者は、すべてのSELECTクエリの前にLOCK ROW FOR ACCESSを使用して、そのテーブルへの書き込みの遅延を避けるように指示しました。 MS SQL ServerのWITH(NOLOCK)ヒントをよく知っているので、LOCK ROW FOR ACCESSと同等です。しかし、INSERTまたはUP

    1

    1答えて

    私はそれを実行している間、更新されている特定の行を防ぐためにROWLOCKを使用しようとしているが、問題はこれを実行している間、私は全くのテーブルを使用することができないということです。 set transaction isolation level repeatable read; go begin try begin transaction; inser

    1

    2答えて

    Oracleデータベース11gを使用して新しくなった。 私はSQL Developerを使用してテーブルロックと行ロックをテストしていました。 私はこのように私のテーブルの行を持っている: ID:1 DESC: 'ABC' 私は'zxc'にフィールドdescを変更するためにコミットせずに更新をしました。私はそれは私にエラーや理由は何か他のものを与えるだろうと考えていた「ABC」 : ID:1 DE

    5

    3答えて

    SQL Server Management Studioでテーブルを右クリックし、「トップ200行を編集」を選択すると、いつでも、私が見ているデータがロックされますか? 私の同僚は、この方法でデータを表示すると、データ行をロックすることができると述べています(カーソルを行に置き、データの編集を開始すると彼は言ったと思います)。 これはデータがこのコンテキストでロックできる唯一の時間ですか?

    15

    2答えて

    私はこのmultiupdateクエリを持っている場合は UPDATE user u INNER JOIN user_profile up ON up.user_id = u.id SET u.name = 'same_name_i_already_had', up.profile.age = 25 WHERE u.id = 10 のは、ユーザーテーブルの行10は、すでに「same_nam