Details concerning Comparison and Synch process

When we do the Comparison process, do we retrieve all records from Source, all records from Destination, and then process the diff between them on the client? So, we’d have a DB hit to Source, DB hit to Destination, and then client load while processing the difference. Is this correct understanding?

Does this same process occur if the Source and Destination are within the same database?

Does this same process occur if we span databases/database systems (ie SQL Server to Oracle or Oracle to Oracle, etc)?

Data Compare uses queries with order by clause to fetch data from DBs.

Data Compare querying Source DB and querying Target DB for one record each After that Data Compare compares both records and stores them into the temporary files on the drive depends on result of comparison.

So I would say Data Compare do comparison on the fly.