The web of linked data has a nature of distributed data sources. A federated SPARQL query system, querying RDF data via multiple SPARQL endpoints, is expected to process queries based on these distributed data sources. During a federated query, each data source may pose a non-trivial size of search space. Therefore, finding the optimal join order to suppress the sizes of intermediate results from different sources is the key for the performance of a federated query system. This study presents a dynamic optimization approach for join order, which can find more optimized join plan compared to static optimization approaches. Experimental results show that the proposed approach can stably improve the performance of a federated query as the query becomes complex .