What's faster than Mirroring tables, compare or write?
For a question like this, you really need to time the queries to check performance.

My guess is that the logging overhead on the update is going to be more expensive than any reasonable list of "or" statements.  If you are going to use the comparisons, though, you should have a correct statement that takes NULLs into account:

where (tb_B.value1 &lt;&gt; tb_A.value1) or
      (tb_b.value1 is null and tb_a.value1 is not null) or (tb_b.value1 is not null and tb_a.value1 is null) or
      tb_B.value2 &lt;&gt; tb_A.value2 or
      (tb_b.value2 is null and tb_a.value2 is not null) or (tb_b.value2 is not null and tb_a.value2 is null)


You can make the query more efficient by defining an index on each table with (id, value1, value2).  This will allow all the logic to use the index.  A page would only be necessary in the page cache when a mismatch is found.