Heenan, Lambert
Lambert.Heenan at AIG.com
Wed Jun 30 15:43:53 CDT 2004
My 2 cents worth. 1/ Removing the indexes is a sure fire way to slow things down. 2/ If this is running on a JET database then executing the SQL string directly does not give the JET engine a chance to optimize the query. Better to plug the SQL into a querydef and the run the query, as you discovered. How to do that in code?... Dim Qd as QueryDef Dim sSQL as String sSQL = "UPDATE Contract INNER JOIN [Payroll Line Items] ON Contract.[Contract ID] = [Payroll Line Items].Contract ID] SET [Payroll Line Items].PolicyID = [EnforceWCID] WHERE [Payroll Line Items].CostType='WC' AND Contract.EnforceWCID<>0;" Set Qd = CurrentDb.QueryDefs("MyTempQuery") Qd.SQL = sSQL Set Qd = Nothing Docmd.OpenQuery "MyTempQuery" 3/ How many records were involved with the other databases? Lambert > -----Original Message----- > From: Bobby Heid [SMTP:bheid at appdevgrp.com] > Sent: Wednesday, June 30, 2004 3:31 PM > To: 'Access Developers discussion and problem solving' > Subject: RE: Updated subject: Query failing to execute WAS: RE: > [AccessD] Combobox question UPDATE > > I let it run during lunch and it finally did get through the query. It > updated about 48000 records. > > I still do not know why it is taking so long. I even took off almost all > of > the indexes of the payroll table and it still took a very long time. > > Any ideas? > > Thanks, > Bobby > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid > Sent: Wednesday, June 30, 2004 11:41 AM > To: 'Access Developers discussion and problem solving' > Subject: Updated subject: Query failing to execute WAS: RE: [AccessD] > Combobox question > > > Sorry about that. I forgot to change the subject. > > Bobby > > > -----Original Message----- > From: Bobby Heid [mailto:bheid at appdevgrp.com] > Sent: Wednesday, June 30, 2004 11:40 AM > To: 'Access Developers discussion and problem solving' > Subject: RE: [AccessD] Combo box question > > > Hi all, > > I have a query that is run during a conversion of a database that appears > to > be hanging on this one particular database. > > Here's the query: > UPDATE Contract > INNER JOIN [Payroll Line Items] > ON Contract.[Contract ID] = [Payroll Line Items].[Contract > ID] > SET [Payroll Line Items].PolicyID = [EnforceWCID] > WHERE [Payroll Line Items].CostType='WC' > AND Contract.EnforceWCID<>0; > > This query is placed into a string and executed with: db.execute > strSQL,dbfailonerror > > There are ~192,000 payroll records and ~3500 contract records. > > If I copy the SQL into the query designer and run it, it only takes about > 5 > seconds or so to execute. I have let the version in the code run for over > 1/2 hour and have to end up killing access. > > Anyone have any ideas as to what may be happening? I am running AXP sp2. > The tables are linked. This code has ran fine on over 100 other > conversions. > > Thanks, > Bobby > > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com