I'm reading this section DML statements that update or insert single rows and I don't understand why the following statement is not "updating 1 row at a time":
UPDATE
dataset.t t
SET
my_column = u.my_column
FROM
dataset.u u
WHERE
t.my_key = u.my_key
Why is this considered as batched statement? The way I read this is that each row is going to be evaluated to make sure that the column is updated correctly only when the key is matching. What's under the hood of this statement that make it a batch?
That batch update example is meant to be in contrast to multiple update statements. This is not recommended:
In the batch example, BigQuery can update many rows with just one statement. I don't know exactly what's going on under the hood, but it must be more efficient.