When you create and execute a query, Microsoft Jet must decide which portion of the query to process locally through its own query processor, and which portion to send to the remote database server for processing. Microsoft Jet always sends the entire query to the server unless it contains items the server cannot process.
Because Microsoft Jet’s query processor supports heterogeneous joins, queries based on other queries, arbitrary expressions, and user-defined functions, your query may contain elements that the database server cannot interpret. To maximize the performance of queries in a client/server application, you should familiarize yourself with the capabilities of the server and design queries that use those capabilities. Use standard query optimization techniques for your server and use Microsoft Jet-specific query enhancements only when needed. Your goal should be to make it as easy as possible for Microsoft Jet to send your complete query to the server for processing.
Keep the following conditions in mind when constructing a query for the remote database server: