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

SQLの選択と更新の適切な方法

    まず、最小 SELECT ... FOR UPDATEを実行する必要があります したがって、他のSELECT ... FOR [SHARE|UPDATE]に対して行をロックします。 アクセス。これはトランザクション内で実行し、最後の行を更新してcommitするまでそのトランザクションを保持する必要があります 。

    SELECT ... FOR UPDATEする行 ない 通常のSELECTに対してロックされています; FOR UPDATEを使用していない他のトランザクションでも引き続き読み取り可能です。 またはFOR SHARE

    さらに良いことに、全体をUPDATE ... FROMと言い換えてみてください。 または、単一のクエリですべての作業を行うその他のセットベースの操作。通常、SELECT ... FOR UPDATEよりもはるかに優れたパフォーマンスを発揮します。 その後にUPDATEのストリームが続きます s。




    1. これら2つのデータベース設定のどちらを選択する必要がありますか?

    2. MySQLはsecure-file-privを複数のディレクトリに設定しました

    3. nullでない場合は列の値を選択し、そうでない場合は別の列の値を使用します

    4. 実行時間に4秒を追加する結合のWHERE句