It is because of the number of records your database is returning.
for each record, it will connect to google to lookup the address, draw the map for that address, then pause for 2 seconds. The 2 second pause between address lookups is needed to prevent the Google server from terminating the request.
With the number of records you are retuning, this will take quite a bit of time to draw the entire map.