It is as #merge combines AR::Relations into a new AR::Relation. When this is ran only a single query is ran opposed to multiple queries (as well as multiple AR instance instantiations being performed that aren't required).
The first approach (using #map) runs 1+O(n) queries (which can be reduced to 2 by using includes(:computer) before the #map call).
The second approach (using #merge) only runs 1 query, as well as having the advantage as returning a AR::Relation (good for chaining on additional scopes if required, as well as lazy evaluation).
I benchmarked the results of the three different calls (including using #include also), my results were (1000 iterations each):
user system total real
#map 1.460000 0.060000 1.520000 ( 1.813301)
#map + #include 1.110000 0.040000 1.150000 ( 1.381373)
#merge 0.190000 0.000000 0.190000 ( 0.188655)
Seems to be ~10x speedup over #map, ~7x speedup over #map + #include.
footnote: In this example the query generated (looking at #to_sql) using #merge is:
SELECT `computers`.* FROM `computers` INNER JOIN `accounts` ON `computers`.`id` = `accounts`.`computer_id` WHERE `accounts`.`person_id` = 1 AND `accounts`.`role` = 'administrator'