2. A networked computer system comprising: a plurality of nodes coupled to each other via a plurality of networks, each of the plurality of networks comprising a communication path between at least two of the plurality of nodes, each of the plurality of nodes comprising at least one processor and memory, the plurality of nodes comprising a distributed database with a first node including first data in the distributed database and a second node including second data in the distributed database and a third node; a network monitor that monitors characteristics of the plurality of networks and generates a log of the characteristics of the plurality of networks; first and second of the plurality of networks that provide alternative network connections between the third node and the first node; and a query optimizer executing on the at least one processor of the third node, wherein the query optimizer logs historical information for queries that indicates past network selection when executing each of the queries, wherein the query optimizer takes network choice into consideration when executing a database query to the first and second nodes in the distributed database that retrieves the first data and the second data in the distributed database by considering the characteristics of the plurality of networks between the first, second and third nodes logged by the network monitor and by considering the past network selection in selecting at least one of the plurality of networks for executing the query, wherein the query optimizer selects one of the first and second networks for executing the query based on the historical information that includes which of the first and second networks were used during at least one previous execution of the query and based on information in the log of the characteristics of the plurality of networks that indicates characteristics of the first and second networks.
7. The networked computer system of claim 2 wherein the characteristics of the plurality of networks comprise network latency.