Bob A. - 2015-06-10

Sorry, I forgot to mention that the 2nd and 3rd examples above have the good-looking explain plans that I expected. But I expected the 1st explain plan (co-distributed join) to look more like the 3rd explain plan (join to a replicated table) because each node has all of the data it needs to perform the join without re-distribution. Unfortunately, the 1st explain plan (co-distributed join) is identical to the 2nd explain plan (join on non-distributed field).

My expectation is based on this quote from the pg-xl documentation:

If the equi-join is done by distribution columns and they share the distribution method (hash/modulo), the Coordinator can tell the Datanode to perform join. If not, it may tell Datanodes to ship rows to other Datanodes and expect rows from other Datanodes to be shipped to it.

Otherwise, I really do like the product. I just need to figure out this one piece.