PostgreSQLで行が存在するかどうかを最も速くチェックする 質問する

PostgreSQLで行が存在するかどうかを最も速くチェックする 質問する

テーブルに挿入する必要がある行が多数ありますが、これらの挿入は常にバッチで実行されます。したがって、バッチの 1 行がテーブルに存在するかどうかを確認したいのですが、そうすることで、すべての行が挿入されたことがわかります。

したがって、これは主キーのチェックではありませんが、あまり問題にはならないはずです。単一の行のみをチェックしたいので、count(*)おそらく良くないので、次のようなものだexistsと思います。

しかし、私は PostgreSQL についてはまだあまり詳しくないので、詳しい人に聞きたいです。

私のバッチには次の構造の行が含まれています:

userid | rightid | remaining_count

したがって、テーブルに指定された行が含まれている場合、useridそれらの行はすべてそこに存在することを意味します。

ベストアンサー1

使用存在するTRUE / FALSEを返すキーワード:

SELECT EXISTS(SELECT 1 FROM contact WHERE id=12)

おすすめ記事