Para una consulta como esta, un índice parcial cubrir solo las filas no sincronizadas sería mejor.
CREATE INDEX ON tbl (id) WHERE sync_done = FALSE;
Sin embargo, para un caso de uso como este, pueden ser preferibles otros métodos de sincronización para empezar:
- Eche un vistazo a
LISTEN
/NOTIFY
. - O use un disparador
en combinación con dblink
o un contenedor de datos externo como
postgres_fdw
(preferiblemente). - O uno de los muchos métodos de replicación disponibles
.
Streaming Replication se agregó con Postgres 9.0 y se ha vuelto cada vez más popular.