Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Setup / Configuration / November 2007

Tip: Looking for answers? Try searching our database.

Query performance question.

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Mark - 29 Nov 2007 11:48 GMT
Hi group.

I am in the process of running a query that is trying to cross reference a
table containing file information against a list of useable file extensions.
I have imported this list of file extensions permissable into Access and
have writen something in SQL as follows:

SELECT *
FROM Hnb_groups
WHERE [FILE_Type] NOT IN (SELECT [File_Extension] FROM [FILE_EXTENSIONS]);

Hnb_groups contains the original info' I am trying to reference. The
FILE_EXTENSIONS file contains info related to the title.

It seems to be crashing Access all the time. There are typicall 500,000+
records in the Hnb_groups tables.

Is there an issue with the SQL code that would make it slower?

Any help is greatly appreciated as this is my first assignment in my first
graduate post since finishing college.

M
John Spencer - 29 Nov 2007 15:20 GMT
You might try using a frustrated outer join query.  It should be faster.

SELECT *
FROM Hnb_groups LEFT JOIN File_Extensions
ON Hnb_groups.File_type = File_Extentions.FileExtension
WHERE File_Extentions.FileExtension is Null

NOT IN (SELECT ...) is S L O W  AND if any nulls are in the values returned
by the subquery,  then you get zero records returned.

Signature

John Spencer
Access MVP 2002-2005, 2007
Center for Health Program Development and Management
University of Maryland Baltimore County
.

> Hi group.
>
[quoted text clipped - 20 lines]
>
> M
Jerry Whittle - 29 Nov 2007 16:36 GMT
Four thoughts to add to John's sage advice.

1. Make sure that Hnb_groups.File_type is indexed.

2. When In/Not In runs badly, I try a Exists/Not Exists statement and visa
versa. Sometimes the improvement can be dramatic.

SELECT *
FROM [Hnb_groups]
WHERE Not Exists (SELECT "X"
FROM [FILE_EXTENSIONS]
WHERE [FILE_EXTENSIONS]![FILE_EXTENSION] = [Hnb_groups]![FILE_Type] );

3. Such a query needs internal space to run within the .mdb file. With a
half million records in the table, it's possible that the database is getting
near the 2 GB limit. Make a backup first then try a compact and repair before
running the query.

4. Also what do you mean by "crashing"? Error messages? Freezing up?
Signature

Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.

> Hi group.
>
[quoted text clipped - 19 lines]
>
> M
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.