Charlotte
charlotte.foust at gmail.com
Wed Oct 27 16:11:57 CDT 2010
They truncate memo fields too Charlotte Sent from my Samsung Captivate(tm) on AT&T "Heenan, Lambert" <Lambert.Heenan at chartisinsurance.com> wrote: >That sounds like a good idea which I will pursue. I did not know that the union would blow away my index. > >Thanks, > >Lambert > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Wednesday, October 27, 2010 4:33 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Access Sub Queries > >Hi Lambert > >Because you are doing it about as complicated as it can be - using the union query not twice but three times, the last in the subquery for each row. And a union query carries no index. >Break it down. You may write the output from the union query to a temp table and perhaps as well the output from the union query combined with the subquery. > >/gustav > > >>>> Lambert.Heenan at chartisinsurance.com 27-10-2010 21:46 >>> >x-posted to Access-L and AccessD > >Why is it that queries with sub-queries can be so very, very slow in Access? > >Here's a query > >SELECT Data_Stream_qry.PK_ID, Data_Stream_qry.dDateCreated FROM DataFile_Sample_tbl INNER JOIN Data_Stream_qry ON DataFile_Sample_tbl.[Policy ID] = Data_Stream_qry.PK_ID WHERE (((Data_Stream_qry.dDateCreated) In (select top 2 dDateCreated from Data_Stream_qry order by dDateCreated))) ORDER BY Data_Stream_qry.PK_ID, Data_Stream_qry.dDateCreated; > >The intention of it is to list the top two date values in the table Data_Stream_qry for each policy listed in the table DataFile_Sample_tbl. The sample table contains 500 rows, the Date_Stream_qry is a union query which returns 13,000 unique rows from a total of 1.5million and the date field has an index on it in both source tables involved in the union query. > >This query has been running for well over an hour now, and only two segments of the progress meter have shown up. Yet if I write a little code to simply execute the TOP 2 sub query on its own, once for each policy in DataFile_Sample_tbl, and save the results to a third table, then those 500 query instances only take about 20 minutes to run. > >Lambert > > >-- >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