Thread: ODBC driver
A previous message mentioned that MSAccess performs a join locally when accessing a postgres database via the ODBC drivers (link files). Does that mean that it sends the entire tables from the postgres server to the Win computer and the query is actually performed by MSAccess? Thanks, Mihai Gheorghiu
I believe that the JET Database Engine (on which Access is based) always performs joins, order bys, etc... locally. I believe though that it only grabs a certain number of rows at a time from the actual table. - Greg -----Original Message----- From: Mihai Gheorghiu [mailto:tanhq@bigplanet.com] Sent: Thursday, June 01, 2000 2:49 PM To: pgsql-interfaces@postgresql.org Subject: [INTERFACES] ODBC driver A previous message mentioned that MSAccess performs a join locally when accessing a postgres database via the ODBC drivers (link files). Does that mean that it sends the entire tables from the postgres server to the Win computer and the query is actually performed by MSAccess? Thanks, Mihai Gheorghiu
The best way to see how it works is to look at the query log in the postgres back-end. My bet is that Access will send select/where-clausesand so on to the back-end, for each table, and then do it's join locally, on the subset of the data.Maybe it can work even smarter... Nicolas Huillard -----Message d'origine----- De: Mihai Gheorghiu [SMTP:tanhq@bigplanet.com] Date: jeudi 1 juin 2000 23:49 À: pgsql-interfaces@postgresql.org Objet: ODBC driver A previous message mentioned that MSAccess performs a join locally when accessing a postgres database via the ODBC drivers (link files). Does that mean that it sends the entire tables from the postgres server to the Win computer and the query is actually performed by MSAccess? Thanks, Mihai Gheorghiu
My experience with MS Access, querying large amounts of data via ODBC, is that pass-through queries (carried out by the server) are usually the best way to go. Local queries on linked tables will work fine for simple queries (small number of rows returned, with a simple WHERE clause), but any kind of large result set, or especially a complex set of WHERE criteria, slows my PC to a crawl for 30-60 minutes or more. This is with a PII 350Mhz, 128 Mg RAM. Same happened (only worse) with my previous PC. I've had to kill Access plenty of times just to get out of these situations, because I just couldn't work while it was going on. I don't have any insight into the processes involved, this is just my observation on many occasions... > -----Original Message----- > From: Nicolas Huillard [SMTP:nhuillard@ghs.fr] > Sent: Friday, June 02, 2000 5:13 AM > To: 'Mihai Gheorghiu'; pgsql-interfaces@postgresql.org > Subject: [INTERFACES] RE: ODBC driver > > The best way to see how it works is to look at the query log in the > postgres back-end. My bet is that Access will send select/where-clauses > and so on to the back-end, for each table, and then do it's join locally, > on the subset of the data. Maybe it can work even smarter... > > Nicolas Huillard > > -----Message d'origine----- > De: Mihai Gheorghiu [SMTP:tanhq@bigplanet.com] > Date: jeudi 1 juin 2000 23:49 > À: pgsql-interfaces@postgresql.org > Objet: ODBC driver > > A previous message mentioned that MSAccess performs a join locally when > accessing a postgres database via the ODBC drivers (link files). > Does that mean that it sends the entire tables from the postgres server to > the Win computer and the query is actually performed by MSAccess? > > Thanks, > > Mihai Gheorghiu >