Most previous work on query optimization in distributed database systems has focused on finding optimal or near-optimal processing plans based solely on static system characteristics and few researchers have addressed the problem of copy selection when data is replicated this paper describes a new approach to query processing information to select the processing site (s) for a query dynamically choosing from among those sites that have copies of relation referenced by the query Query complication is used to produce a statically-optimized logical plan for the query and then a dynamic optimization phase converts this logical plan into an executable physical plan at runtime this paper motivates the separation of static and dynamic optimization presents algorithms for the various phases of the optimization process and describes a simulation study that was undertaken to investigate the performance of this approach our simulation results indicate that load-balanced query processing system throughput as compared to schemes where execution sites are either statically or randomly selected.