PostgreSQLバッドノウハウメモ: PostgreSQLではレコードの位置を表すctidという列が全てのテーブルにあるが、DELETE FROM foo WHERE ctid IN (複雑なクエリ)とかしても最適化してくれない。ctidでソートしてマージジョインとかになる。素直にプライマリキーを使う必要がある。
Discussion
No replies yet.
PostgreSQLバッドノウハウメモ: PostgreSQLではレコードの位置を表すctidという列が全てのテーブルにあるが、DELETE FROM foo WHERE ctid IN (複雑なクエリ)とかしても最適化してくれない。ctidでソートしてマージジョインとかになる。素直にプライマリキーを使う必要がある。
No replies yet.