You'll need a program but you can avoid looking at every row by adding a timestamp field to both tables. Update the timestamp on every insert and update. Then periodically run the following process to sync the tables.
- Extract all records where timestamp greater or equal to LAST_DONE.
- Extract these records out into a file.
- Load this file into a transfer table on the other database.
- Update or insert these records into the main table on the other database.
- Set LAST_DONE = max timestamp in your transfer table.
- Clear the transfer table.
The above should be pretty quick to run and, if run every 30min, would keep the two tables reasonably closely in sync. Obviously this won't cover deletion of records but, with a little imagination, you could code for that. You might want to have a maximum number of records transferred ie 10k - which might allow you to drip feed the data in initially - there would be issues if many records have the same timestamp though.
I've used the above process to keep complete databases (of different types) in sync and it works reasonably well. You'll also want to monitor the process to make sure everything is still running.
Mike