PostgreSQL の DELETE では LIMIT が使えない2025年03月06日 14時06分40秒

PostgreSQL の DELETE 構文は LIMIT が指定できない。SELECT 句で削除対象を探しながら少しずつ消していく迂回策を取るしかない。

どのデータベースもほぼ同じだとは思うが、読み出しのみの SELECT はとても高速でも、書き込みの起こる DELETE はとっても遅いことが多い。SELECT でレコードを取得出来るが、DELETE がトランズアクションの時間制限内に終わらい為に、データベースからデータが消せない事態に陥ったことがある。

細かい追加の SELECT 句の弊害と対処方法などについては How to Use LIMIT in Postgres Delete in two roundabout ways で詳しく解説されている。。 随分前の事になるが、メモを見つけたので。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2025/03/06/9759166/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。