How to Speed Up a Slow Make-Table Query in Microsoft Access
Question details
The user needs to improve the execution speed of a Microsoft Access make-table query that processes hundreds of thousands of records.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Running a make-table query involving large datasets and correlated subqueries.
- Observed behavior
- The make-table query takes significantly longer to execute compared to the underlying select query.
Before modifying your table structures or query designs, ensure you review the query execution plan and isolate which specific subqueries are causing the bottleneck.
Create Indexes on Join, Filter, and Ranking Fields
Adding indexes to fields frequently used in your query operations drastically reduces the time Access takes to find and process records.
When dealing with hundreds of thousands of records, unindexed fields force Access to perform full table scans. Indexing fields used in joins or WHERE clauses (such as 'Part' and 'Operation') provides the database engine with a fast lookup mechanism.
Right-click the underlying table in the Navigation Pane and select 'Design View'.
Click on the field name that is used for joins, filtering, or ranking (e.g., Part or Operation).
In the Field Properties pane at the bottom, find the 'Indexed' property and change it from 'No' to 'Yes (Duplicates OK)' or 'Yes (No Duplicates)' depending on your data logic.
Save the table design, close it, and test your make-table query again.

Remove Unnecessary ORDER BY Clauses
Sorting data during a make-table query adds significant processing overhead without guaranteeing the final row order in the new table.
Need a Faster Way to Process Data? Try WPS Office
While Microsoft Access is used for complex relational databases, dealing with performance issues can be frustrating. If you frequently analyze large datasets, WPS Spreadsheet offers an incredibly fast, lightweight, and free alternative for filtering, sorting, and summarizing data without writing complex SQL queries.

Frequently Asked Questions
Why does a select query run faster than a make-table query in Access?
A select query only retrieves and displays a subset of data in memory, whereas a make-table query must physically write hundreds of thousands of records to the disk, which adds massive I/O overhead and lock management time.
Should I use an AutoNumber primary key to speed up my make-table query?
Adding an AutoNumber field to the destination table is good practice for long-term table design, but adding it to the source tables will not speed up the execution of the make-table query itself. Focus on indexing the fields used for joins.
Can correlated subqueries cause Access queries to slow down?
Yes, correlated subqueries force the database engine to evaluate the subquery for every single row processed by the outer query. When processing large tables, this leads to severe performance degradation.




