Hi, it’s definitely better to create 1 post per POI. It is a little faster to load the data as POIs on one map but you’ll give up the ability to search or categorize the POIs. Map pois have only a title and body, so there are no categories, image attachments, editor, etc.
I suggest you always load your data as individual posts, then use the mashup shortcode to show them on a single map.
Even sites that are custom-built for map searches (e.g. Zillow or Redfin, for example) generally only show a few hundred locations at a time. In comparison, WordPress is very slow for both AJAX and queries.
It will help if you can narrow down the number of results, for example by assigning categories to the posts and having the user pick a region before displaying the map. Or, you can have the map display the current blog results and let WP page them.