sql >> データベース >  >> RDS >> PostgreSQL

SELECT ... ORDER BY ... FOR UPDATEステートメントで行が順番にロックされていますか?

    行はORDER BYの順序でロックされます 条項テーブルがスキャンされたときの状態

    クエリが実行され、行が順序付けられると、PostgreSQLは行を順番にロックします。基本的に、ORDER BY FOR UPDATEの前に発生します 。

    これで、行ブロックをロックすることが発生する可能性があります。 並行トランザクションによって保持されているロックのため。それが発生し、READ COMMITTEDにいる場合 分離レベル、PostgreSQLは待機 ロックを取得して現在のバージョンを取得するまで ロックする行の。

    並行トランザクションが順序を定義する列を変更した場合、最終結果はORDER BYで定義された順序にはなりません。 。




    1. Oracle関数は正常にコンパイルされますが、PLS-00221の実行中にエラーがスローされます:プロシージャではないか、未定義です

    2. SQL Server(T-SQL)で文字列の正しい部分を取得する

    3. MySQL MyISAMストレージエンジンで削除カスケードを使用するにはどうすればよいですか?

    4. MySQLの列挙型はNOTNULLである必要がありますか?