タイプ2データのデータベーステーブルがあり、最後に同期してから削除されたレコードを検索したいと思います。と列がdate_fromありdate_to、生データにはID列がありますobject_id。 date_to<>nullこれは、現在存在しないことを意味します。したがって、同じobject_idandを持つレコードが他にない場合は、date_to=null削除されています。
ナイーブな実装は次のようになると思います。
select * from data_t2 a
where a.date_to > last_sync_date and a.date_to < current_date()
and not exists (select * from data_t2 b
where b.date_to is null and b.object_id = a.object_id);
しかし、明らかにそれは途方もなく高価になるでしょう。
私が見逃している明らかでより効率的な方法はありますか?ないのではないかと思いますが(つまり、削除されたレコードが比較的少ないと想定し、RDBMSの外部で計算の一部を実行する必要があります)、念のために尋ねると思いました。
ありがとう!